diff --git a/.arcconfig b/.arcconfig index 2179df69b6..e049d1637f 100644 --- a/.arcconfig +++ b/.arcconfig @@ -1,4 +1,7 @@ { "project_id" : "efl", - "conduit_uri" : "https://phab.enlightenment.org/" + "projects" : "efl", + "conduit_uri" : "https://phab.enlightenment.org/", + "phabricator.uri" : "https://phab.enlightenment.org/", + "repository.callsign" : "EFL" } diff --git a/.ci/build-efl-app.sh b/.ci/build-efl-app.sh new file mode 100755 index 0000000000..ac22e09db5 --- /dev/null +++ b/.ci/build-efl-app.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +cd / + +#clone our examples from efl +git clone http://git.enlightenment.org/tools/examples.git/ + +cd examples/apps/c/life/ + +#build the example +mkdir build +meson . ./build +ninja -C build all + +#remove the folder again so its not left in the artifacts +cd / +rm -rf examples diff --git a/.ci/ci-linux-build.sh b/.ci/ci-linux-build.sh index 5472495b5a..ddc33fef50 100755 --- a/.ci/ci-linux-build.sh +++ b/.ci/ci-linux-build.sh @@ -1,10 +1,63 @@ #!/bin/sh -COPTS="--with-tests=regular" -PARALLEL_JOBS=10 +set -e -# Normal build test of all targets -./autogen.sh $COPTS $@ -make -j $PARALLEL_JOBS -make -j $PARALLEL_JOBS examples -make -j $PARALLEL_JOBS benchmark +CI_BUILD_TYPE=$1 + +DEFAULT_COPTS="--prefix=/usr/ --with-tests=regular --disable-cxx-bindings" + +WAYLAND_COPTS="--with-tests=regular --enable-wayland --enable-elput --enable-drm \ +--enable-wayland-ivi-shell --enable-gl-drm --with-opengl=es --enable-egl" + +MISC_COPTS="--enable-harfbuzz --enable-liblz4 --enable-image-loader-webp --enable-xinput22 \ +--enable-multisense --enable-lua-old --enable-xpresent --enable-hyphen \ +--enable-pixman --enable-pixman-font --enable-pixman-rect --enable-pixman-line \ +--enable-pixman-poly --enable-pixman-image --enable-pixman-image-scale-sample \ +--enable-image-loader-generic --enable-libuv --enable-tile-rotate --enable-vnc-server \ +--enable-sdl --enable-fb --enable-v4l2 --enable-cserve --enable-always-build-examples \ +--enable-ecore-wayland --enable-ecore-drm --enable-cancel-ok --with-crypto=gnutls \ +--enable-debug --disable-gstreamer1 --enable-gstreamer" + +MISC_DISABLED_COPTS="--disable-neon --disable-libeeze --disable-systemd --disable-magic-debug \ +--disable-valgrind --disable-cxx-bindings --disable-gstreamer1 \ +--disable-fontconfig --disable-fribidi --disable-poppler --disable-spectre --disable-libraw \ +--disable-librsvg --disable-xcf --disable-libmount --disable-tslib --disable-audio \ +--disable-pulseaudio --disable-avahi --disable-xinput2 --disable-xim --disable-scim \ +--disable-ibus --disable-physics --disable-quick-launch --disable-elua" + +RELEASE_READY_COPTS="--with-profile=release" + +if [ "$CI_BUILD_TYPE" = "" ]; then + # Normal build test of all targets + ./autogen.sh $DEFAULT_COPTS + make + make check-build + make examples + make benchmark + make install + ./.ci/build-efl-app.sh +fi + +if [ "$CI_BUILD_TYPE" = "wayland" ]; then + ./autogen.sh $WAYLAND_COPTS + make + make examples +fi + +if [ "$CI_BUILD_TYPE" = "misc" ]; then + ./autogen.sh $MISC_COPTS + make + make examples +fi + +if [ "$CI_BUILD_TYPE" = "misc-disabled" ]; then + ./autogen.sh $MISC_DISABLED_COPTS + make + make examples +fi + +if [ "$CI_BUILD_TYPE" = "release-ready" ]; then + ./autogen.sh $RELEASE_READY_COPTS + make + make distcheck +fi diff --git a/.ci/ci-osx-build.sh b/.ci/ci-osx-build.sh index 628ec20abe..4e7a0f05cc 100755 --- a/.ci/ci-osx-build.sh +++ b/.ci/ci-osx-build.sh @@ -1,7 +1,8 @@ #!/bin/sh -COPTS="--with-crypto=none --disable-pulseaudio --disable-cxx-bindings" -PARALLEL_JOBS=10 +set -e + +COPTS="--disable-cxx-bindings" # Prepare OSX env for build mkdir -p ~/Library/LaunchAgents @@ -9,8 +10,11 @@ ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist export PATH="$(brew --prefix gettext)/bin:$PATH" +export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS" +export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS" + # Normal build test of all targets ./autogen.sh $COPTS $@ -make -j $PARALLEL_JOBS -#make -j $PARALLEL_JOBS examples -#make -j $PARALLEL_JOBS benchmark +make +make examples +#make benchmark diff --git a/.ci/ci-osx-deps.sh b/.ci/ci-osx-deps.sh index 4be656a8fa..859842624e 100755 --- a/.ci/ci-osx-deps.sh +++ b/.ci/ci-osx-deps.sh @@ -1,4 +1,5 @@ #!/bin/sh brew update -brew install gettext check bullet dbus fontconfig freetype fribidi gst-plugins-good gstreamer luajit openssl webp libsndfile glib libspectre libraw librsvg poppler lz4 +brew unlink python +brew install gettext check bullet dbus fontconfig freetype fribidi gst-plugins-good gstreamer luajit openssl webp libsndfile glib libspectre libraw librsvg poppler lz4 pulseaudio diff --git a/.ci/Dockerfile-Archlinux b/.ci/dockerfiles/Dockerfile-Archlinux similarity index 85% rename from .ci/Dockerfile-Archlinux rename to .ci/dockerfiles/Dockerfile-Archlinux index a94dc2a5fb..2b335e31c1 100644 --- a/.ci/Dockerfile-Archlinux +++ b/.ci/dockerfiles/Dockerfile-Archlinux @@ -10,9 +10,3 @@ RUN pacman -S --noconfirm git bullet libjpeg-turbo gst-plugins-base \ libspectre libraw librsvg wayland-protocols \ git ninja clang gcc pkgconfig check autoconf make base-devel \ mesa poppler - -# Build -RUN mkdir -p /src/ -WORKDIR /src/ -COPY . /src/ -RUN .ci/ci-linux-build.sh diff --git a/.ci/Dockerfile-Debian91 b/.ci/dockerfiles/Dockerfile-Debian91 similarity index 91% rename from .ci/Dockerfile-Debian91 rename to .ci/dockerfiles/Dockerfile-Debian91 index 10d8a1e8b0..a8d2ea20af 100644 --- a/.ci/Dockerfile-Debian91 +++ b/.ci/dockerfiles/Dockerfile-Debian91 @@ -3,9 +3,3 @@ FROM debian:9.1 # Install RUN apt-get update -y RUN apt-get install -y make gcc bison flex gawk subversion automake autoconf doxygen check autotools-dev autoconf-archive autopoint libtool gettext libpam0g-dev libfreetype6-dev libpng-dev zlib1g-dev libjpeg-dev libdbus-1-dev luajit libluajit-5.1-dev libx11-dev libxcursor-dev libxrender-dev libxrandr-dev libxfixes-dev libxdamage-dev libxcomposite-dev libxss-dev libxext-dev libxinerama-dev libxkbfile-dev libxtst-dev libxcb1-dev libxcb-shape0-dev libxcb-keysyms1-dev libpulse-dev libsndfile1-dev libudev-dev libblkid-dev libmount-dev libgstreamer1.0-dev libtiff5-dev libgif-dev curl libssl-dev libspectre-dev libpoppler-dev librsvg2-dev libraw-dev libxinerama-dev git libfribidi-dev libcogl-gles2-dev libbullet-dev libgstreamer-plugins-base1.0-dev libvlc-dev libpoppler-cpp-dev libsystemd-dev systemd libsystemd0 - -# Build -RUN mkdir -p /src/ -WORKDIR /src/ -COPY . /src/ -RUN .ci/ci-linux-build.sh diff --git a/.ci/Dockerfile-Fedora26 b/.ci/dockerfiles/Dockerfile-Fedora26 similarity index 90% rename from .ci/Dockerfile-Fedora26 rename to .ci/dockerfiles/Dockerfile-Fedora26 index 50afa45af1..6649c937f1 100644 --- a/.ci/Dockerfile-Fedora26 +++ b/.ci/dockerfiles/Dockerfile-Fedora26 @@ -3,9 +3,3 @@ FROM fedora:26 # Install RUN dnf update --assumeyes RUN dnf install --assumeyes bullet-devel libpng-devel libjpeg-turbo-devel gstreamer1-devel gstreamer1-plugins-base-devel zlib-devel luajit-devel libtiff-devel openssl-devel libcurl-devel dbus-devel glibc-devel fontconfig-devel freetype-devel fribidi-devel pulseaudio-libs-devel libsndfile-devel libX11-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel libXrender-devel libXScrnSaver-devel libXtst-devel libXcursor-devel libXp-devel libXi-devel mesa-libGL-devel giflib-devel libmount-devel libblkid-devel systemd-devel poppler-cpp-devel poppler-devel LibRaw-devel libspectre-devel librsvg2-devel autoconf automake gcc gcc-c++ gettext-devel findutils tar xz libtool make - -# Build -RUN mkdir -p /src/ -WORKDIR /src/ -COPY . /src/ -RUN .ci/ci-linux-build.sh diff --git a/.ci/Dockerfile-Fedora27 b/.ci/dockerfiles/Dockerfile-Fedora27 similarity index 69% rename from .ci/Dockerfile-Fedora27 rename to .ci/dockerfiles/Dockerfile-Fedora27 index 346339218e..e0d4b8c4fe 100644 --- a/.ci/Dockerfile-Fedora27 +++ b/.ci/dockerfiles/Dockerfile-Fedora27 @@ -4,8 +4,8 @@ FROM fedora:27 RUN dnf update --assumeyes RUN dnf install --assumeyes bullet-devel libpng-devel libjpeg-turbo-devel gstreamer1-devel gstreamer1-plugins-base-devel zlib-devel luajit-devel libtiff-devel openssl-devel libcurl-devel dbus-devel glibc-devel fontconfig-devel freetype-devel fribidi-devel pulseaudio-libs-devel libsndfile-devel libX11-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel libXrender-devel libXScrnSaver-devel libXtst-devel libXcursor-devel libXp-devel libXi-devel mesa-libGL-devel giflib-devel libmount-devel libblkid-devel systemd-devel poppler-cpp-devel poppler-devel LibRaw-devel libspectre-devel librsvg2-devel autoconf automake gcc gcc-c++ gettext-devel findutils tar xz libtool make -# Build -RUN mkdir -p /src/ -WORKDIR /src/ -COPY . /src/ -RUN .ci/ci-linux-build.sh +# Install wayland build dependencies +RUN dnf install --assumeyes wayland-protocols-devel libwayland-client libwayland-server libinput-devel libdrm-devel libxkbcommon-devel uuid-devel wayland-devel mesa-libgbm-devel + +# Install misc build dependencies +RUN dnf install --assumeyes lz4-devel harfbuzz-devel libXpresent-devel libwebp-devel hyphen-devel lua-devel diff --git a/.ci/dockerfiles/Dockerfile-Opensuse423 b/.ci/dockerfiles/Dockerfile-Opensuse423 new file mode 100644 index 0000000000..697766d659 --- /dev/null +++ b/.ci/dockerfiles/Dockerfile-Opensuse423 @@ -0,0 +1,7 @@ +FROM opensuse:42.3 + +# Install +RUN zypper --non-interactive update +RUN zypper --non-interactive install -t pattern devel_basis +RUN zypper --non-interactive in -d efl +RUN zypper --non-interactive install gcc-c++ gettext-devel doxygen check libcheck0 check-devel libopenssl-devel systemd-devel libjpeg-devel glib2-devel gstreamer-devel gstreamer-plugins-base-devel luajit-devel freetype2-devel fontconfig-devel fribidi-devel libpng-devel libtiff-devel libcurl-devel libsndfile-devel libX11-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel libXrender-devel libXScrnSaver-devel libXtst-devel libXcursor-devel libXp-devel libXi-devel Mesa-libGL-devel giflib-devel libmount-devel libblkid-devel poppler-devel libraw-devel libspectre-devel librsvg2-devel gettext-devel libbullet-devel libudev-devel dbus-1-devel libpulse-devel diff --git a/.ci/Dockerfile-Ubuntu1704 b/.ci/dockerfiles/Dockerfile-Ubuntu1704 similarity index 92% rename from .ci/Dockerfile-Ubuntu1704 rename to .ci/dockerfiles/Dockerfile-Ubuntu1704 index 426ac9ec6f..ecec07e07c 100644 --- a/.ci/Dockerfile-Ubuntu1704 +++ b/.ci/dockerfiles/Dockerfile-Ubuntu1704 @@ -3,9 +3,3 @@ FROM ubuntu:17.04 # Install RUN apt-get update -y RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxine2-dev libxss-dev linux-tools-common libcurl4-openssl-dev - -# Build -RUN mkdir -p /src/ -WORKDIR /src/ -COPY . /src/ -RUN .ci/ci-linux-build.sh diff --git a/.ci/Dockerfile-Ubuntu1710 b/.ci/dockerfiles/Dockerfile-Ubuntu1710 similarity index 90% rename from .ci/Dockerfile-Ubuntu1710 rename to .ci/dockerfiles/Dockerfile-Ubuntu1710 index 23a134b598..8a7e7cae53 100644 --- a/.ci/Dockerfile-Ubuntu1710 +++ b/.ci/dockerfiles/Dockerfile-Ubuntu1710 @@ -2,10 +2,4 @@ FROM ubuntu:17.10 # Install RUN apt-get update -y -RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxine2-dev libxss-dev linux-tools-common libcurl4-openssl-dev - -# Build -RUN mkdir -p /src/ -WORKDIR /src/ -COPY . /src/ -RUN .ci/ci-linux-build.sh +RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxine2-dev libxss-dev linux-tools-common libcurl4-openssl-dev systemd diff --git a/.travis.yml b/.travis.yml index 2f60f7ee8f..60a3658b8b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,28 +3,83 @@ language: c sudo: required dist: trusty -os: linux +os: + - linux + - osx + +env: + global: + - MAKEFLAGS="-j5" + matrix: + - + - DISTRO=Ubuntu1804 + - DISTRO=Fedora28 CI_BUILD_TYPE=wayland + - DISTRO=Fedora28 CI_BUILD_TYPE=misc + - DISTRO=Fedora28 CI_BUILD_TYPE=misc-disabled + - DISTRO=Fedora28 CI_BUILD_TYPE=release-ready + - DISTRO=Debian91 + - DISTRO=Archlinux services: - docker +matrix: + fast_finish: true + exclude: + - os: osx + env: DISTRO=Ubuntu1804 + - os: osx + env: DISTRO=Fedora28 CI_BUILD_TYPE=wayland + - os: osx + env: DISTRO=Fedora28 CI_BUILD_TYPE=misc + - os: osx + env: DISTRO=Fedora28 CI_BUILD_TYPE=misc-disabled + - os: osx + env: DISTRO=Fedora28 CI_BUILD_TYPE=release-ready + - os: osx + env: DISTRO=Debian91 + - os: osx + env: DISTRO=Archlinux + + - os: linux + env: + allow_failures: + - os: linux + env: DISTRO=Fedora28 CI_BUILD_TYPE=release-ready + before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then .ci/ci-osx-deps.sh ; fi -matrix: - include: - - env: DISTRO=Ubuntu1704 - - env: DISTRO=Fedora27 - - env: DISTRO=Debian91 - - env: DISTRO=Archlinux - - os: osx - osx_image: xcode7.3 - - os: osx - osx_image: xcode8.3 - -# Xcode 7.3.1, OS X 10.11 -# Xcode 8.3.3, OS X 10.12 +before_script: + - | + if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then + docker pull stefanschmidt1/ci-support-files:$DISTRO + fi script: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then docker build -f .ci/Dockerfile-$DISTRO . ; fi + - | + if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then + docker run -v `pwd`:/src -w /src stefanschmidt1/ci-support-files:$DISTRO /src/.ci/ci-linux-build.sh $CI_BUILD_TYPE + fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then .ci/ci-osx-build.sh ; fi + +after_success: + - | + if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then + docker login -u stefanschmidt1 -p "$DOCKER_PASSWORD" + docker tag stefanschmidt1/ci-support-files:$DISTRO stefanschmidt1/ci-support-files:$DISTRO-$TRAVIS_BUILD_NUMBER + docker push stefanschmidt1/ci-support-files:$DISTRO + docker push stefanschmidt1/ci-support-files:$DISTRO-$TRAVIS_BUILD_NUMBER + fi + +notifications: + irc: + channels: + - "chat.freenode.net#edevelop" + on_success: change + on_failure: always + template: + - "TravisCI build %{build_number} in branch %{branch}: %{result} - %{message}" + - "Commit: %{commit_subject} (%{commit}) from %{author}" + - "Change view : %{compare_url}" + - "Build details : %{build_url}" diff --git a/AUTHORS b/AUTHORS index 894fd3a798..66237b1e68 100644 --- a/AUTHORS +++ b/AUTHORS @@ -676,7 +676,7 @@ Vitaliy Venzak perepelits.m rustyBSD Haifeng Deng -Al Poole +Alastair Poole Marcel Hollerbach Hermet Park Jeeyong Um @@ -687,3 +687,8 @@ Jinyong Park Woochan Lee Taehyub Kim Sungtaek Hong +Bryce Harrington +YeongJong Lee +Bowon Ryu +Wonki Kim +Junsu Choi diff --git a/COPYING.images b/COPYING.images index 951d874d1b..1683e24744 100644 --- a/COPYING.images +++ b/COPYING.images @@ -1,6 +1,7 @@ -Gesture Layer 2: +Gesture Layer 2 (all the icons in data/elementary/images/g_layer): Illustrations provided by GestureWorks® (www.gestureworks.com) Creative Commons Attribution Sharealike license v 3.0. + http://gestureworks.com/ http://gestureworks.com/icons-fonts http://creativecommons.org/licenses/by-sa/3.0/us/ diff --git a/Makefile.am b/Makefile.am index 35a0315270..a753de855d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdunitdir=. \ --enable-always-build-examples -SUBDIRS = src data config doc +SUBDIRS = src data doc if HAVE_PO @@ -470,12 +470,11 @@ lcov-baseline: lcov-report: lcov-baseline lcov --capture --compat-libtool --no-external --output-file $(abs_top_builddir)/coverage/coverage-check.info --directory $(abs_top_builddir) --config-file .lcov-config lcov --no-external --compat-libtool --add-tracefile $(abs_top_builddir)/coverage/coverage-baseline.info --add-tracefile $(abs_top_builddir)/coverage/coverage-check.info --output-file $(abs_top_builddir)/coverage/coverage.info --config-file .lcov-config - lcov --no-external --compat-libtool --remove $(abs_top_builddir)/coverage/coverage.info '*.h' --output-file $(abs_top_builddir)/coverage/coverage.cleaned.info --config-file .lcov-config - lcov --no-external --compat-libtool --remove $(abs_top_builddir)/coverage/coverage.cleaned.info '*/tests/*' --output-file $(abs_top_builddir)/coverage/coverage.cleaned2.info --config-file .lcov-config - lcov --no-external --compat-libtool --remove $(abs_top_builddir)/coverage/coverage.cleaned2.info '*NONE*' --output-file $(abs_top_builddir)/coverage/coverage.cleaned3.info --config-file .lcov-config - lcov --no-external --compat-libtool --remove $(abs_top_builddir)/coverage/coverage.cleaned3.info '*/doc/*' --output-file $(abs_top_builddir)/coverage/coverage.cleaned4.info --config-file .lcov-config - lcov --no-external --compat-libtool --remove $(abs_top_builddir)/coverage/coverage.cleaned4.info '*usr/include*' --output-file $(abs_top_builddir)/coverage/coverage.cleaned5.info --config-file .lcov-config - genhtml --config-file .lcov-config --legend -t "$(PACKAGE_STRING)" -o $(abs_top_builddir)/coverage/html $(abs_top_builddir)/coverage/coverage.cleaned5.info + lcov --no-external --compat-libtool --remove $(abs_top_builddir)/coverage/coverage.info \ + '*.h' '*/tests/*' '*NONE*' '*/doc/*' '*usr/include*' '*/bin*' '*/edje_external*' \ + '*/generic/*' '*/modules/*' '*/static_libs/*' \ + --output-file $(abs_top_builddir)/coverage/coverage.cleaned.info --config-file .lcov-config + genhtml --config-file .lcov-config --legend -t "$(PACKAGE_STRING)" -o $(abs_top_builddir)/coverage/html $(abs_top_builddir)/coverage/coverage.cleaned.info @echo "Coverage Report at $(abs_top_builddir)/coverage/html" endif diff --git a/NEWS b/NEWS index 4c531e9a7e..6a918692bc 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,455 @@ ========== -EFL 1.20.0 +EFL 1.21.0 ========== +Changes since 1.20.0: +--------------------- + +Features: + + * evas: Make all EO canvas objects visible by default + * Eo: Allow multiple functions overrides (T5580) + * eo: Add debug_name read-only property to ease debugging + * evas/edje/elm: Override debug_name in core classes + * wayland: add efl-hints protocol for setting aspect on surfaces + * efl-wl: support min/max hinting + * efl-wl: add handling for external protocol interfaces + * edje - add embryo echo command for debugging + * layout: Implement missing edje APIs (T5315) + * ecore-wl2: Add support for Window Iconify State Change + * ecore-evas-wayland: Add handler for Iconify State Change event + * efl: Introduce Efl.Ui.Direction interface (T5870) + * Efl.Ui.Panes: implement allow_user_size_hints on parts (T5359) + * Efl.Ui.Panes: rename left/right_size_set to split_ratio (T5359) + * efl-wl: add EFL_WL_DEBUG env variable for enabling wayland debug + * efl-wl: add functionality for extracting surfaces for external use + * elput: Add API to set pointer acceleration speed (T4736) + * ecore-drm2: Add API function to allow setting pointer acceleration speed (T4736) + * ecore-drm2: Add API to allow setting pointer acceleration profile (T4736) + * Introduce text on path widget + * eina: Add convenience eina_rectangle_equal + * evas textblock: support ZWJ, ZWNJ, LRM, RLM in escaped form + * evas: Add EO API to get clipper in smart object + * evas: Add group_member_is to smart objects + * efl: Introduce Eina.Rect and switch EO APIs to it + * efl_ui_image: add new scale type: EFL_UI_IMAGE_SCALE_TYPE_TILE + * Canvas text async: add async layout functionality + * Ui text: add Efl.Ui.Text_Async object + * edje: Add part_type_get API + * ecore exe - add an "isolate io"f lag for sending io to /dev/null + * evas: Add scale feature for embedded bitmap fonts. + * eo_debug: Enable logging of all ref/unref + * eo: Add API to allow deletion by unref + * Efl text: add Efl.Text.Markup interface + * evas: Implement support for different H/V font DPI + * elm_config: add offline and powersave config members + * efl_wl: add function for returning the evas object for an extracted surface + * wayland: add support for efl weight hint propagation from elm_win to efl_wl + * evas textblocke: add align=end for putting a text at the opposite side of LTR/RTL + * eina: eina_value - Add "struct tm" support (T6204) + * edje_cc - add offset_scale/offscale per desc to allow offsets to scale + * Genlist Item Pin Feature (T6241) + * saver/svg: parse loaded tree data into svg XML file and save it + * build: improve configure accessibility + * eolian: Add API's for part enumeration + * evas filters: Add "alphaonly" flag for blend and blur + * elm: Add "shadow" part to all widgets + * efl-wl: add function to get the parent of an extracted surface + * ecore_imf: Add transaction start and end event callback + * entry: Add autofill hint + * eo: Add "destruct" event + * efl-wl: move to xdg-shell vfinal + * wayland: add xdg-shell vfinal support for client-side + * Canvas image: add Efl.Canvas.Text.Factory + use in Ui.Text + * efl-wl: add functionality for directly passing through xkb objects + * ecore-x: add more info to Ecore_X_Event_Xkb event + * ecore-x: add some useful xkb function wrappers + * eolian: deferred parsing of inherits + better static checks + * ecore: add function for prepending an event handler + * efl-wl: add functions for managing allowed client pids + * efl-wl: add function for passing ecore-exe flags to launched exes + * ecore-drm2: Add API functions to get/set output relative mode + * efl-wl: send surface enter/leave based on compositor object visibility + * ecore-drm2: Add API to get/set which output is relative to another + * ecore-drm2: Add API function to retrieve output user data + * edje: add ability to reference images from other edje files + * eolian: add API to query information about Objects + * eolian: clean rollback support + * evas: apply fribidi bracket types to show paired bracket properly + * efreet: add method for disabling efreetd connection + * efl_ui_spin: Added special value feature. + * elm_entry: add elm_entry_prediction_hint_hash_set/del API + * edje_cc: add option for verifying namespace usage (T6911) + * eio: add method for setting the global file polling rate for fallback monitors + * eina_debug: add function to reset debug subsystem after fork + * eio: add method for determining if a monitor is using the fallback mechanism + * edje_cc: add 'skip_namespace_validation' keyword (T7072) + +Fixes: + + * ecore-wl2: pass display to aux hint event_adds + * ecore-wl2: don't send null set_parent requests for every window + * ecore-wl2: sync aux hints after window creation + * efl-wl: block connection attempts from unmanaged clients + * wayland: fix min/max size setting + * efl-wl: do shm pool ref/unref for bm safety + * ecore-evas-wayland: update size when size hints are changed + * efl-wl: add handling for commit during canvas render + * efl-wl: set cursor surface roles + * theme: clip start gadget arrow to intended clipper + * edje crash with run program references - fix + * Allow to override build date (T5495) + * elm_win: simplify/fix recalc logic when changing csd + * elm_win: set shadow geometry based on borderless state + * elementary cursor: remove a warning message from Wayland supports + * elm: Add missing undef EAPI to Elementary.h + * ecore glib support - if we are not the main ctx owner loop to acquire + * evas: Fix crash in E (T5868) + * eolian: implement proper return type serialization (T5024) + * eo: Check refs in efl_data_scope_safe_get (T5869) + * wayland: fix xdg-shell popup windows + * efl-wl: use correct accessor method for keyboard resource hash + * elm_widget: do not reparent subobjs to top widget for non-elm objects + * efl-wl: always dismiss popups on hide + * efl-wl: handle case where eglBindWaylandDisplay fails + * ecore: always set delete_me before removing fd from poll + * efl-wl: initialize seat keymap fd to -1 + * ecore_evas_extn: Fix socket & plug windows + * elm_test: Fail nicely if plug can't connect + * evas: make top object returning functions return the top object + * theme: handle e dialog sizing when no buttons are present + * wayland: fix num/caps lock handling in events (T5737) + * elm segment control: delete event cbs on obj delete. + * glview: Fix ALWAYS render policy + * elm_box: Fix support of aspect hints (T5888) + * theme: fix dialog sizing when no buttons are present + * edje: Fix warning message + * efl_ui_clock: Parses the format recursively. + * photocam: Fix key zoom in/out + * elm init - fix init seq and quicklaunch as we shut down x before evas + * ecore-wl2: normalize axis event values (T5427) + * efl-wl: match nested wl seats based on display ordering + * elm_win: update opaque region for fake windows + * elm_win: check for wayland engine during finalize by checking for wl win + * efl_ui_image: maintain geometry for prev image while preloading new image (T5936) + * access: Fix crash in ecore + * Canvas text: fix non-dirty paragraph width calculation (T5939) + * evas: fix invalid return of evas_textgrid_cellrow_get() + * eina file - use recursive locks for cache and file to avoid deadlock + * eina mmap safety - only map zeropages if it's an eina file that sigbuses + * multibuttonentry: Separate selected item and focused item logic. + * efl_ui_clock: Add 'O' character to ignore POSIX alternative format in format. + * elm focus manager - dont leak child lists when updating focus order (T5800) + * elm focus manager - dont leak child lists when updating focus order (T5800) + * eina_array: Fix magic checks to return + * evas: handle object names with a list hash + * evas: fix event grabber child stacking + * ecore_exe - fix failed finalize fork to reutrn NULL not ecore_exe_free + * evas: proceed glyph iterator to handle next index properly + * evas_thread: only join the thread if the thread is still alive (T5245) + * filters: Safety++ + * cxx: generate a constructor with a parent and a lambda function (T5980) + * evas: don't search other fonts only for INHERITED script unicodes + * edje: Add legacy compatibility code (T5944) + * evas box - fix longstanding bug where min size is miscalculated + * ecore exe - fix fix malloc fail handling + * efl net - adapt to openssl 1.1.0 changes with tls method support + * eina: prevent memory corruption in chained mempool + * efl net http - fix protocol error handling to not crash and handle it + * flip: Fix invalid use of EOAPI in legacy header + * eina file: Fix map_populate on the global map + * eina file: Ensure populate is safe to call + * elm image: Fix async open to avoid multiple mmap + * Entry: use _edje_seat_name_get to get the seat + * edje: Fix invalid storage of efl_part objects (T6032) + * efl po files - fix LTR/RTL translation string to be correct for langs + * efl ui layout - handle content unset properly and remove the unset item + * hover: Fix hover parts usage + * ecore-x: reject successive MappingNotify events if they are identical + * elm hoversel - fix alignment in ephoto (T6078) + * evas textblock: use primary font's size as minimum size of a line + * elm: Fix module load with ELM_RUN_IN_TREE + * elm: Properly unregister providers on shutdown + * evas: Fix shutdown of async cmd cache + * eo: Fix crashes with call cache after init cycle + * elm: Delete atspi root object on shutdown + * ecore: Reset do_quit when ecore shuts down + * elm: Fix shutdown of atspi (unregister handlers) + * evas textblock: use main font's ascent/descent as minimum value + * evas: Fix dangling references with input devices + * eo: Fix unnecessary ERR logs with eo_debug + * eo: Allow efl_reuse to be called with a parent + * evas ector gl - fix leak of image data on data put (CID1374645) + * evas font: check returned value of FcPatternGet function + * edje entry: fill content info when text is deleted by imf event + * ecore-file: do not emit events when an inotify watch is removed + * elput: Fix issue of pointer rotation not being set on startup + * eolian-bin: Free previously allocated eina_strbuf (CID1381502) + * evas-gl-common: Fix dereference after null check (CID1374272) + * evas-gl-image: Fix dereference after null check (CID1374273) + * elementary: passing NULL to variadic funtion can be undefined. + * eet: wrong comparision to less than zero with unsigned integer. + * evas: there is no effect of variable assignment outside the function. + * efreet: unsigned int cannot be compared to less than zero. + * emotion gst1 - handle null imagwe data returrn and dont crash + * eina: same expression on both statement. + * eina: comparing less than zero with unsigned long int + * emile: comparing less than zero with unsigned interger. + * ephysic: comparing with same statement. + * evas: there is no effect of variable assignment while clean up. + * emotion: Properly unmap video frame + * efl_ui_bg: fix ELM_BG_OPTION_CENTER bg in left top side. + * edje_cc: fix a memory leak issue when edje_cc writes images + * evas gl generic/common - add more linking for gles mode to fix deb build (T6158) + * jp2k module - dont print ERR on llading if format wrong + * edje_edit: duplicate assignment to variable. + * ecore_wayland: fix assigned value is never used. + * ecore: remove doxygen warning messages + * win: Do not forward all key events on win (legacy) (T6148) + * evas: Prevent crash with image_data_get (T5957) + * elm_code_widget: make sure the widget is cleared properly. (T6185) + * ecore_wl2: Remove just the flush from the idle handler (T6250) + * elm_tooltip: set parent window for windowed tooltips + * efl_wl: more closely follow wl spec for input regions + * efl_wl: destroy extant shell surface upon surface deletion + * efl_wl: do not propagate hints to main widget for child surfaces + * ecore-wl2: correctly handle configure events on popup surfaces + * ecore_cocoa: fix the backspace key + * edje_cc: fix errors in documentation + * edje_cc: add missing default values to documentation + * edje_cc: fix color2 and color3 descriptions + * edje_cc: fix state.no_render description + * edje_cc: parse "fixed" as bool + * edje_cc: fix incorrect type in minmul defaults + * edje_cc: fix color_class description + * edje_cc: move part_remove and program_remove to group + * edje_cc: fix default color_class colors + * edje_cc: fix spelling + * edje_cc: make bool parsing consistent + * edje_cc: make color parsing consistent + * edje_cc: move box and table properties documentation + * edje_cc: limit map.zoom to non-negative values + * edje_cc: fix text.align description + * edje_cc: fix program.filter description + * edje_cc: fix item.max parsing + * edje_cc: fix parsing and documentation + * ecore-drm2: Fix issue of not being able to set output mode + * Efl.Ui.Radio: remove value{} api + * edje: don't return negative width and height from _parts_extends + * evas textblock: handle ellipsis when text's height exceed its area by "br" + * evas-software-generic: Check for render engine function before calling + * evas-wayland-shm: Do not dereference a potentially freed pointer (CID1381707) + * emotion: Fix data race condition (CID1381624) + * evas-object-main: Fix null dereference (CID1381710) + * evas-object-main: Fix null dereference (CID1381711) + * evas-object-main: Fix potential null dereference (CID1381713) + * evas_vg_cache: load svg from any file, not from defined only + * ector: use cairo_pattern_add_color_stop_rgba in gradient_radial + * vg_loaders/svg: set up default focal values for radialGradient + * efl_gfx_path: fix typo in _path_bounds_get + * evas_vg_load_svg: default stop opacity color should be 255, not 0 + * evas_vg_load_svg: get rid of static Evas_SVG_Parsing + * efl ui win - make win centering work with multiple screens (T6323) + * eo - fix freeq usage to not use freeq for a vtable cleaning + * efl_ui_radio: keep radio state when theme is changed + * efl net - handle proxy helper fails better and abort proxy lookups + * elput - re-enable switches (power buttons, lid etc.) + * elm_code_widget: keep track of visibility. + * Ctxpopup: resizing ctxpopup after its content is removed (T6327) + * genlist: fix state corruption of content + * Efl.Ui.Slider: add default indicator format to %0.2f + * elm_genlist: fix rare segfault + * elput: Remove unreachable code (CID1382857) + * ecore-wl2: Destroy buffer before we exit the buffer_test function + * efl_ui_bg: fix unclipped image on EFL_UI_IMAGE_SCALE_TYPE_NONE + * eo - by default on 64bit only use 47 bits because of luajit + * elm ifrace scrollable - fix uninitialized values on scroll asjust + * ecore ipc/con: fix nasty ... they dont mutually exclude + * efl_ui_bg: add Efl.Gfx.color_get. + * eina_file: make sure we use a stringshare when virtualized. (T6449) + * ecore-evas-drm: Check for XDG_SEAT existence (T6455) + * efl_ui_text: apply new theme logic and use constructor/destructor + * Efl.Ui.Popup.Alert: add message signal process function for scroller size calculation + * elementary: Fix resource leak (CID1383549) + * elementary: Fix resource leak (CID1383550) + * elementary: Fix resource leak (CID1383551) + * eina: Fix typo in doxygen + * evas: Fix potential crash with draw context + * eeze: Don't leak udev enumeration + * eeze: Remove unused device variables + * eldbus test - del not unref obj as it has a parent ... + * eina: fix random segfaults when displaying BT + * Elementary: fix makefile ignore efl_ui_theme edc's change + * ecore_con: bug workaround SO_REUSEADDR and EADDRINUSE from bind (fix) + * elm - scroll manager - fix up momentum animator code to use real consts + * elm: fix memleak in combobox + * emotion: unset DISPLAY when loading an engine under wayland (T6418) + * ecore evas init - init ecore then evas not the other way... + * fix evas test suite to now init both ecore and evas.... correctly. + * ecore-drm2: Fix enabling outputs + * ecore-drm2: return supported rotations if not using hardware + * efl-wl: do not modify extracted surface visibility during commit (T6443) + * elementary: Remove use of implicit declaration + * evas sw generic - don't dlopen osmesa until first needed. + * ecore_audio - don't about destruction because of failed sndfile load + * elm_tooltip: force immediate hint recalc during tooltip creation if 0x0 size + * elm_tooltip: immediately show tooltip if callback is set for obj under pointer + * efl-wl: unset cursor role on existing cursor surface if new cursor is set + * ecore_audio wasapi - fix ecore win32 handler deletion and destruction (T6607) + * efl theme - fix bug in e init splash that would do hide anim 2x (T6619) + * efl-wl: send more mouse buttons to clients + * efl-wl: propagate surface activation back to parent if child is hidden + * efl-wl: set event ON_HOLD flag when they are sent to a surface + * efl-wl: remove some broken logic for activating toplevel parents + * efl-wl: only send keyboard enter and activation for mapped surfaces + * efl-wl: immediately unset a destroyed surface's cursor + * efl-wl: only perform mouse-out operations for a seat if the mouse was "in" + * wayland: always flush client display when protocol sends are pending + * ecore-wl2: correctly translate spacebar keyname into key events (T6620) + * ecore-x: perform internal shutdown on io error if callback is set + * ecore-x: add more null checks for functions + * elementary config: Fix to use ELEMENTARY_BASE_DIR for configure path + * ecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x event + * ecore-x: re-add implementation of ecore_x_connection_get() + * efl-wl: fix no-op of setting keyboard enter on already-entered surface + * efl-wl: unset kbd mods changed flag after sending modifiers + * ecore: prune existing thread_join callbacks during ecore_fork_reset + * edje_cc: make -thread option + * Efl.Ui.Image: remove previous image when NULL is set + * elm: call ecore_event_init() during init + * ecore-file: make monitoring truly fork-safe + * eio: make inotify monitors fork-safe + * disable async mode (use sync mode) for ibus when keymap changes + * ecore-drm2: Ensure output changed event is sent for removed outputs + * eio: remove broken pid-based monitor reset copied from ecore-file + * ecore-imf: do ecore-x init during ctx creation instead of module init + * elm: call ecore_app_args_set() after quicklaunch fork + * elm: remove ecore-x init from quicklaunch post-fork + * elm progressbar - fix val set (T6697) + * efl ui format - fix format checking to be correct (T6697) + * edje - entry - fix empty item handling (T6668) + * ecore-evas-drm: Use output viewport in ecore_evas_animator_tick calls + * evas drm engines: Fix variable type for output + * elementary: fix legacy widget type name for backward compat + * ecore - fix fd handlers to also set read/write/err flags on hup's + * ecore - loop handler - fix wakeup to reslect active flag mask + * evas event_grabber: fix child ordering when adding non-top children + * elm_datetime: Handle wrong param case for legacy. + * elm: set default theme name internally when applying config + * efreet_xml: make sure we unmap the right pointer. (T5949) + * evas: increase offset by 4 to do work for next map points + * efl_ui_multibuttonentry: maintainance legacy function type. + * elementary: add missed type for legacy. + * elementary: bg - keep file path and key string for legacy bg widget + * ecore-wl2: Reduce calls to strlen + * ecore-wl2: Check for valid string before passing to strlen() + * genlist: fix "insane" order [BUG COMPATIBILITY] (T5938) + * efl_ui_clock: Fix wrong target to compare with. + * ecore ipc - fix flush to not lose messages + * evas: fix Evas Map AA changes the alpha flag of an image issue. (T1975) + * eldbus: call ecore_init in eldbus_init + * efl selection - fix paste with multiple windows and filter by window + * efl selection manager - handle multi window selections properly + * evas - plug in dirty + pixels get hold in "is inside" for images (T6791) + * elm - selection manager - fix string buffer handling and format types (T6284) + * ecore: poll the thread pipe twice during shutdown + * ecore: reduce pipe wait time during shutdown + * edje: fix potential memory leak. + * edje: fix potential memory leak. + * ecore: fix a potential memory leak. + * ecore ipc - fix send to skip data payload if null/0 + * evas - loading extension query - fix to not skip small extensions + * efl selection manager - fix crashes when doing selections on non-x11 + * efl selection manager - fix anoyther binary buffer treated as string bug + * efl selection - fix entry <-> plain text compy and paste in wl + * efl selection - fix another binary buffer treates as string bug + * efl selection manager - fix dnd end handling to only handle on dnd + * efl selection manager - fix x11 cnp from entry to plain text conversion + * edje: Dont append font source if fonts are not embedded in edje + * edje edje_cc: fix memory leak. + * ecore: fix a potential memory leak. + * ecore_wl_dnd: correct wrong variable assignment + * elm: resolve possible memory leak. + * elm: resolve possible memory leak. + * ector cairo: fix a memory leak. + * elm: resolve possible memory leak. + * elm: resolve possible memory leak. + * elementary bg: allow NULL pointers in legacy usage + * elementary: fix build on X11. + * edje: remove recalc from content_get and text_get + * ecore animator, x, vsync ecore evas restore x vsync to work again + * evas: fix default return value of image-related legacy functions + * edje: fix backward compatibility issue caused by legacy cursor funcs + * ecore-evas-win32: set draw_block until the window receives a configure event (T6907) + * efl_ui_image: add NULL check in elm_image_memfile_set() function + * evas textblock: fix double free issue from user style push/pop and free + * Evas textblock: fix wrong hyphenation issues with non UTF8 encoded dictionary (T3221) + * edje: return proper value from the function. + * elm_multibuttonentry: Fix to install eo header files + * edje: Fix to support translation for textblock part + * evas textblock: update format nodes when a Evas Textblock Style is updated + * evas textblock: manage default style properly for new interfaces + * efl_ui_tags: Fixed bug when setting format string. + * evas: fix a map rendering problem. + * elm_main: call _elm_config_shutdown() after loop_iterate() + * efl_ui_win: fix wrong comparison in icon_object_set + * elm_interface_scrollable: change return value for post events. + * edje: don't give a wrong Edje data when an Edje object has group parts + * elm_notify: remove allow_events_set call in destructor + * elm_spinner: Spinner value adjust when round enabled. + * elementary textpath: update Evas map when text is updated + * elementary widget: fix to trigger object signal emit properly. (T6981) + * evas engines: do not immediately free native surface when unsetting it (T6970) + * edje_cc: fixup edje_collections_lookup hash ids during collection pruning + * evas vg: fix broken vg rendering. (T6993) + * edje: fix an issue "description.text.text" is not shown (T6997) + * evas vg: get rid of memory leak. + * ecore_evas: fix crash on free of smart data. (T6974) + * eina_barrier: handle PTHREAD_BARRIER_SERIAL_THREAD return from barrier_wait + * evas vg: fix broken morphing(interpolation) (T6996) + * evas vg: fix another memory leak + * efreet: mark efreet_menu_async_parse() deprecated. (T585) + * eina_lock: do not set PTHREAD_MUTEX_ERRORCHECK on recursive locks (T1984) + * eina_lock: modify mutex debugging to ignore recursive locks + * eina_lock: remove locks from eina tracking list on free while thread debugging + * eina: disable abort on shutdown when triggered by system monitoring thread + * eet: handle decode failures as errors in variant decoding (T5379) + * ecore - handle G_IO_ERR conditions for net sockets (T5725) + * emotion_generic: clean up event handlers on fork failure + * eina_threadqueue: fix spinlock destruction by using spinlock api + * eina_threadqueue: add locking for variable used between threads + * eina: call eina_threads_init from eina_debug_init + * eina: prevent threads subcomponent from being shutdown while eina is active + * eina_debug_bt: only enable SIGPROF handler when profiling is enabled (T7028) + * Edje load: add safecheck for TEXTBLOCK-specific code path (T6279) + * ecore_cocoa: fix ECORE_EVENT_KEY_DOWN/UP on MacOS. (T6944) + * efl: Bump required libinput version for Elput + * edje: fix text set/get issue without edje calculation + * Edje: recalc edje before fetching the real part (T7057) + * ecore/thread: track "no_queue" threads (T7041) + * ecore_con: make dns resolver thread stop blocking when canceled (T7041) + * elm/win: move trigger for "shot" to first pre-render callback (T6929) + * eina/lock: add errno wrapping for backtrace() calls in thread debug blocks + * ecore/thread: track "no_queue" threads (T7041) + * ecore/thread: flush main loop threads during ecore_thread_wait() + * eio/fallback: fix fallback shutdown when threads exist + * eio/fallback: remove intermediate idler + * eio/fallback: fix MODIFY event emission on base path when monitoring (T7042) + * eio/fallback: mark all fallback monitors as fallbacks, not just for win32 + * eio/fallback: do not modify the children hash while iterating it + * tests: cancel the timeout timer when cleaning up eio tests + * evas map: check render condition more elaborately. (T6975) + * Elm label: fix "horizontal_fixed" usage with different styles (T5382) + * eet: set parent struct member when adding a child to a parent node (T4600) + * Evas font: fix inifinite loop problem for fallback fonts + * Evas font: add comparison for fallbacks in evas_font_desc_cmp() + * Evas font: simplify fallback parsing step + * Evas textblock: clear ellipsis item at start of layout (T6986) + * elm_test: fix invalid read in dnd image drop + * ecore-con/legacy: kill server with DEL event if a dialer error occurs (T6330) + * efreet: use correct path when generating error message about stale efreetd socket (T7045) + * eo/base_class: explicitly refuse to set an object as its own parent + Changes since 1.19.0: --------------------- diff --git a/configure.ac b/configure.ac index c399877c59..182292e06c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -EFL_VERSION([1], [20], [99], [dev]) -AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net]) +EFL_VERSION([1], [21], [0], [release]) +AC_INIT([efl], [efl_version-alpha1], [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([configure.ac]) @@ -15,7 +15,7 @@ AH_BOTTOM([ ]) -AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects]) +AM_INIT_AUTOMAKE([1.6 dist-xz no-dist-gzip -Wall color-tests subdir-objects]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) # Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE @@ -470,7 +470,6 @@ AC_HEADER_TIME AC_CHECK_HEADERS([ \ execinfo.h \ mcheck.h \ -sys/inotify.h \ sys/signalfd.h \ sys/types.h \ sys/param.h \ @@ -480,7 +479,8 @@ sys/auxv.h \ asm/hwcap.h \ ]) -if test "x${have_solaris}" != "xyes" ; then +if test "x${have_linux}" = "xyes" ; then + AC_CHECK_HEADERS([sys/inotify.h]) AC_CHECK_HEADERS([sys/epoll.h]) fi @@ -689,6 +689,7 @@ pause \ gmtime_r \ pthread_getcpuclockid \ clock_gettime \ +clearenv ]) AC_FUNC_ALLOCA @@ -1355,6 +1356,13 @@ AC_DEFINE_IF([HAVE_CSHARP], [test "x${want_csharp}" = "xyes"], [1], [Compiling bindings for C Sharp]) AC_SUBST([want_csharp]) +if test "x${have_windows}" = "xyes"; then + eflmonodlldir="$prefix/bin" +else + eflmonodlldir="$libdir/efl-mono-${EFL_VERSION_MAJOR}" +fi +AC_SUBST([eflmonodlldir]) + # Efl Mono EFL_LIB_START_OPTIONAL([Efl_Mono], [test "x${want_csharp}" = "xyes"]) @@ -1445,7 +1453,15 @@ AC_SUBST([CUSTOM_EXPORTS_MONO_DL_MONO]) # Eos file/library mapping # Unescaped sed pattern: sed -n 's/src\/lib\/\([a-z0-9_]*\)\/[a-z\/]*\/\([a-z0-9\._]*\)/\2,\1/pg' -_configure_path=`realpath $0` +AC_CHECK_PROG([have_realpath], [realpath], [yes], [no]) +if test "x${have_realpath}" = "xyes" ; then + _configure_path=`realpath $0` +else + AC_CHECK_PROG([have_readlink], [readlink], [yes], [no]) + if test "x${have_readlink}" = "xyes" ; then + _configure_path=`readlink -f $0` + fi +fi efl_mono_top_srcdir=`dirname ${_configure_path}` EFL_MONO_LIBRARY_MAP=`find ${efl_mono_top_srcdir}/src/lib/ -iname "*\.eo" | sed -n 's/.*\/src\/lib\/\(@<:@a-z0-9_@:>@*\)@<:@\/a-z@:>@*\/\(@<:@a-z0-9\._@:>@*\)/\2,\1/pg'` @@ -2141,7 +2157,7 @@ AC_ARG_ENABLE([wayland], [want_wayland="no"]) if test "${want_wayland}" = "yes"; then - EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0 wayland-scanner >= 1.11.0 wayland-protocols >= 1.9]) + EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0 wayland-scanner >= 1.11.0 wayland-protocols >= 1.12]) PKG_CHECK_MODULES([WAYLAND], [wayland-scanner >= 1.11.0], [ AC_ARG_VAR([wayland_scanner], [The wayland-scanner executable]) @@ -3807,6 +3823,7 @@ EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EFL_WL], [${want_x11_any}], [ecore_x]) EFL_DEPEND_PKG([EFL_WL], [WAYLAND], [wayland-server >= 1.11.0 xkbcommon >= 0.6.0]) +EFL_OPTIONAL_DEPEND_PKG([EFL_WL], [${want_x11_any}], [XKBCOMMONX11], [xkbcommon-x11]) EFL_EVAL_PKGS([EFL_WL]) @@ -3930,7 +3947,7 @@ EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze]) EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo]) EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina]) -EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 1.6.0 xkbcommon >= 0.3.0 libudev]) +EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 1.7.0 xkbcommon >= 0.3.0 libudev]) EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd]) EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}]) @@ -4581,10 +4598,8 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile]) ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}]) ECORE_EVAS_MODULE([ews], [yes]) ECORE_EVAS_MODULE([fb], [${want_fb}]) -ECORE_EVAS_MODULE([drm], [${want_drm}], - [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm2])]) -ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}], - [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm2])]) +ECORE_EVAS_MODULE([drm], [${want_drm}]) +ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}]) ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}]) @@ -4754,12 +4769,6 @@ dnl TODO: remove these ifdefs from code! AC_DEFINE([HAVE_EIO], [1], [Have eio library]) #### End of Eio -# Eo Id -if test "x${want_eo_id}" = "xyes" ; then - AC_DEFINE([HAVE_EO_ID], [1], [Have eo id]) -fi - - #### Efreet EFL_LIB_START([Efreet]) @@ -4782,6 +4791,7 @@ EFL_INTERNAL_DEPEND_PKG([EFREET], [eo]) EFL_INTERNAL_DEPEND_PKG([EFREET], [efl]) EFL_INTERNAL_DEPEND_PKG([EFREET], [eina]) EFL_INTERNAL_DEPEND_PKG([EFREET], [emile]) +EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-con]) EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc]) ### Checks for header files @@ -5552,9 +5562,7 @@ AC_FUNC_ALLOCA AC_CHECK_FUNCS([geteuid getuid getpwent]) -if test "x${want_quicklaunch}" != "xno"; then - AC_CHECK_FUNCS([fork clearenv]) -fi +AC_CHECK_FUNCS([fork clearenv]) build_quicklaunch="no" if test "x${ac_cv_func_fork}" = "xyes" -a "x${efl_func_dlopen}" = "xyes"; then @@ -5691,13 +5699,13 @@ esac AC_CONFIG_FILES([ Makefile data/Makefile -config/Makefile -config/default/Makefile -config/default/base.src -config/mobile/Makefile -config/mobile/base.src -config/standard/Makefile -config/standard/base.src +data/elementary/config/Makefile +data/elementary/config/default/Makefile +data/elementary/config/default/base.src +data/elementary/config/mobile/Makefile +data/elementary/config/mobile/base.src +data/elementary/config/standard/Makefile +data/elementary/config/standard/base.src doc/Makefile doc/Doxyfile doc/previews/Makefile @@ -5870,8 +5878,6 @@ AC_OUTPUT #### Info -EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}]) - case $host_cpu in i*86|x86_64|amd64) EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}]) @@ -6121,16 +6127,6 @@ if test -n "$CFOPT_WARNING"; then echo "some functionality as useless, leading to visible application bugs." echo "_____________________________________________________________________" fi - if test "x${want_eo_id}" = "xno"; then - echo "_____________________________________________________________________" - echo "Eo's ID abstraction interface is a major safety system that" - echo "protects code from crashing or misbehaving in many cases. It does" - echo "come at a slight cost, but the safety and protection is worth it." - echo "Also by disabling this, you may also introduce security holes in" - echo "EFL as well as cause all sorts of previously non-existant crashes." - echo "Seriously reconsider disabling EO ID." - echo "_____________________________________________________________________" - fi if test "x${want_evas_cserve2}" = "xno"; then echo "_____________________________________________________________________" echo "Evas Cserve is built and on by default and no testing is done" diff --git a/data/Makefile.am b/data/Makefile.am index 8fc26addb3..a326711dc0 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -2,6 +2,7 @@ MAINTAINERCLEANFILES = Makefile.in EXTRA_DIST = CLEANFILES = +SUBDIRS = ######################################################################## # Embryo @@ -119,6 +120,8 @@ EXTRA_DIST += $(eluafiles_DATA) # themes +SUBDIRS += elementary/config + elementaryfilesdir = $(datadir)/elementary/themes elementaryfiles_DATA = elementary/themes/default.edj CLEANFILES += elementary/themes/default.edj @@ -128,14 +131,14 @@ include elementary/themes/Makefile.am elementary/themes/default.edj: elementary/themes/default.edc $(elementary_themes_files) $(efl_ui_themes_files) $(elementary_fdo_files) $(top_builddir)/src/bin/edje/edje_cc${EXEEXT} $(AM_V_EDJ) \ $(MKDIR_P) elementary/themes/; \ - $(EDJE_CC) $(EDJE_CC_FLAGS) $(EDJE_CC_ELM_FLAGS) $< $@ + $(EDJE_CC) $(EDJE_CC_FLAGS) $(EDJE_CC_ELM_FLAGS) -N $< $@ # desktop files elementarydesktopdir = $(datadir)/applications elementarydesktop_DATA = elementary/desktop/elementary_test.desktop elementary/desktop/elementary_config.desktop -elementaryicondir = $(datadir)/icons +elementaryicondir = $(datadir)/icons/hicolor/128x128/apps elementaryicon_DATA = elementary/desktop/elementary.png EXTRA_DIST += $(elementarydesktop_DATA) $(elementaryicon_DATA) @@ -177,6 +180,12 @@ elementaryfdo_apps_64_DATA = $(elementary_fdo_apps_64_files) elementaryfdo_intl_128dir = $(datadir)/icons/Enlightenment-X/intl/128 elementaryfdo_intl_128_DATA = $(elementary_fdo_intl_128_files) +elementaryfdo_mimetypes_16dir = $(datadir)/icons/Enlightenment-X/mimetypes/16 +elementaryfdo_mimetypes_16_DATA = $(elementary_fdo_mimetypes_16_files) + +elementaryfdo_mimetypes_128dir = $(datadir)/icons/Enlightenment-X/mimetypes/128 +elementaryfdo_mimetypes_128_DATA = $(elementary_fdo_mimetypes_128_files) + # edje_externals elementaryedje_externalsdir = $(datadir)/elementary/edje_externals @@ -220,6 +229,7 @@ elementary/objects/test_prefs.edj \ elementary/objects/test_prefs.epb \ elementary/objects/test_focus_style.edj \ elementary/objects/test_tooltip.edj \ +elementary/objects/test_tab_pager.edj \ $(NULL) CLEANFILES += $(elementaryobjects_DATA) @@ -286,3 +296,7 @@ elementary/objects/test_prefs.epb: elementary/objects/test_prefs.epc $(MKDIR_P) elementary/objects/; \ $(ELM_PREFS_CC) $(ELM_PREFS_FLAGS) $< $@ +elementary/objects/test_tab_pager.edj: elementary/objects/test_tab_pager.edc + $(AM_V_EDJ) \ + $(MKDIR_P) elementary/objects/; \ + $(EDJE_CC) $(EDJE_CC_FLAGS) $< $@ diff --git a/config/.gitignore b/data/elementary/config/.gitignore similarity index 100% rename from config/.gitignore rename to data/elementary/config/.gitignore diff --git a/config/Makefile.am b/data/elementary/config/Makefile.am similarity index 57% rename from config/Makefile.am rename to data/elementary/config/Makefile.am index 690067909d..692651353e 100644 --- a/config/Makefile.am +++ b/data/elementary/config/Makefile.am @@ -1,7 +1,7 @@ MAINTAINERCLEANFILES = Makefile.in SUBDIRS = default standard mobile -include ../src/Makefile_Eet_Helper.am +include ../../../src/Makefile_Eet_Helper.am EXTRA_DIST = profile.src @@ -11,8 +11,8 @@ files_DATA = profile.cfg %.cfg: %.src $(AM_V_EET) \ - $(MKDIR_P) $(top_builddir)/config/; \ - $(EET) -i $(top_builddir)/config/$@ config $< 0 + $(MKDIR_P) $(top_builddir)/data/elementary/config/; \ + $(EET) -i $(top_builddir)/data/elementary/config/$@ config $< 0 clean-local: rm -rf *.cfg *~ diff --git a/config/default/Makefile.am b/data/elementary/config/default/Makefile.am similarity index 62% rename from config/default/Makefile.am rename to data/elementary/config/default/Makefile.am index 6211ff7e1f..3986ae6b20 100644 --- a/config/default/Makefile.am +++ b/data/elementary/config/default/Makefile.am @@ -1,6 +1,6 @@ MAINTAINERCLEANFILES = Makefile.in -include ../../src/Makefile_Eet_Helper.am +include ../../../../src/Makefile_Eet_Helper.am EXTRA_DIST = \ profile.desktop \ @@ -15,8 +15,8 @@ files_DATA = \ %.cfg: %.src $(AM_V_EET) \ - $(MKDIR_P) $(top_builddir)/config/default/; \ - $(EET) -e $(top_builddir)/config/default/$@ config $< 1 + $(MKDIR_P) $(top_builddir)/data/elementary/config/default/; \ + $(EET) -e $(top_builddir)/data/elementary/config/default/$@ config $< 1 clean-local: rm -rf *.cfg *~ diff --git a/config/default/base.src.in b/data/elementary/config/default/base.src.in similarity index 98% rename from config/default/base.src.in rename to data/elementary/config/default/base.src.in index 7e9444c10c..e95d7faadd 100644 --- a/config/default/base.src.in +++ b/data/elementary/config/default/base.src.in @@ -1,5 +1,5 @@ group "Elm_Config" struct { - value "config_version" int: 131087; + value "config_version" int: 131089; value "entry_select_allow" uchar: 1; value "engine" string: ""; value "vsync" uchar: 0; @@ -72,6 +72,7 @@ group "Elm_Config" struct { value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */ value "glayer_double_tap_timeout" double: 0.25; /* Timeout between two mouse dows when doing double click (and more). */ value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */ + value "glayer_tap_finger_size" int: 10; value "week_start" int: 1; value "weekend_start" int: 6; value "weekend_len" int: 2; @@ -2326,6 +2327,59 @@ group "Elm_Config" struct { value "params" string: "down"; } } + } + group "Elm_Config_Bindings_Widget" struct { + value "name" string: "Efl.Ui.Slider"; + group "key_bindings" list { + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Left"; + value "action" string: "drag"; + value "params" string: "left"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Left"; + value "action" string: "drag"; + value "params" string: "left"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Right"; + value "action" string: "drag"; + value "params" string: "right"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Right"; + value "action" string: "drag"; + value "params" string: "right"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Up"; + value "action" string: "drag"; + value "params" string: "up"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Up"; + value "action" string: "drag"; + value "params" string: "up"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Down"; + value "action" string: "drag"; + value "params" string: "down"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Down"; + value "action" string: "drag"; + value "params" string: "down"; + } + } } group "Elm_Config_Bindings_Widget" struct { value "name" string: "Efl.Ui.Slider_Interval"; diff --git a/config/default/icon.png b/data/elementary/config/default/icon.png similarity index 100% rename from config/default/icon.png rename to data/elementary/config/default/icon.png diff --git a/config/default/profile.desktop b/data/elementary/config/default/profile.desktop similarity index 100% rename from config/default/profile.desktop rename to data/elementary/config/default/profile.desktop diff --git a/config/mobile/Makefile.am b/data/elementary/config/mobile/Makefile.am similarity index 63% rename from config/mobile/Makefile.am rename to data/elementary/config/mobile/Makefile.am index 7cdfbd5881..2c6c9e2ef7 100644 --- a/config/mobile/Makefile.am +++ b/data/elementary/config/mobile/Makefile.am @@ -1,6 +1,6 @@ MAINTAINERCLEANFILES = Makefile.in -include ../../src/Makefile_Eet_Helper.am +include ../../../../src/Makefile_Eet_Helper.am EXTRA_DIST = \ profile.desktop \ @@ -15,8 +15,8 @@ files_DATA = \ %.cfg: %.src $(AM_V_EET) \ - $(MKDIR_P) $(top_builddir)/config/; \ - $(EET) -e $(top_builddir)/config/mobile/$@ config $< 1 + $(MKDIR_P) $(top_builddir)/data/elementary/config/; \ + $(EET) -e $(top_builddir)/data/elementary/config/mobile/$@ config $< 1 clean-local: rm -rf *.cfg *~ diff --git a/config/mobile/base.src.in b/data/elementary/config/mobile/base.src.in similarity index 98% rename from config/mobile/base.src.in rename to data/elementary/config/mobile/base.src.in index 18d3612548..abccea5b14 100644 --- a/config/mobile/base.src.in +++ b/data/elementary/config/mobile/base.src.in @@ -1,5 +1,5 @@ group "Elm_Config" struct { - value "config_version" int: 131087; + value "config_version" int: 131089; value "entry_select_allow" uchar: 1; value "engine" string: ""; value "vsync" uchar: 0; @@ -72,6 +72,7 @@ group "Elm_Config" struct { value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */ value "glayer_double_tap_timeout" double: 0.25; /* Timeout between two mouse dows when doing double click (and more). */ value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */ + value "glayer_tap_finger_size" int: 10; value "week_start" int: 1; value "weekend_start" int: 6; value "weekend_len" int: 2; @@ -2331,6 +2332,59 @@ group "Elm_Config" struct { } } } + group "Elm_Config_Bindings_Widget" struct { + value "name" string: "Efl.Ui.Slider"; + group "key_bindings" list { + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Left"; + value "action" string: "drag"; + value "params" string: "left"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Left"; + value "action" string: "drag"; + value "params" string: "left"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Right"; + value "action" string: "drag"; + value "params" string: "right"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Right"; + value "action" string: "drag"; + value "params" string: "right"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Up"; + value "action" string: "drag"; + value "params" string: "up"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Up"; + value "action" string: "drag"; + value "params" string: "up"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Down"; + value "action" string: "drag"; + value "params" string: "down"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Down"; + value "action" string: "drag"; + value "params" string: "down"; + } + } + } group "Elm_Config_Bindings_Widget" struct { value "name" string: "Efl.Ui.Slider_Interval"; group "key_bindings" list { diff --git a/config/mobile/icon.png b/data/elementary/config/mobile/icon.png similarity index 100% rename from config/mobile/icon.png rename to data/elementary/config/mobile/icon.png diff --git a/config/mobile/profile.desktop b/data/elementary/config/mobile/profile.desktop similarity index 100% rename from config/mobile/profile.desktop rename to data/elementary/config/mobile/profile.desktop diff --git a/config/profile.src b/data/elementary/config/profile.src similarity index 100% rename from config/profile.src rename to data/elementary/config/profile.src diff --git a/config/standard/Makefile.am b/data/elementary/config/standard/Makefile.am similarity index 62% rename from config/standard/Makefile.am rename to data/elementary/config/standard/Makefile.am index 3dd3c88c68..7ab55d0f80 100644 --- a/config/standard/Makefile.am +++ b/data/elementary/config/standard/Makefile.am @@ -1,6 +1,6 @@ MAINTAINERCLEANFILES = Makefile.in -include ../../src/Makefile_Eet_Helper.am +include ../../../../src/Makefile_Eet_Helper.am EXTRA_DIST = \ profile.desktop \ @@ -15,8 +15,8 @@ files_DATA = \ %.cfg: %.src $(AM_V_EET) \ - $(MKDIR_P) $(top_builddir)/config/standard/; \ - $(EET) -e $(top_builddir)/config/standard/$@ config $< 1 + $(MKDIR_P) $(top_builddir)/data/elementary/config/standard/; \ + $(EET) -e $(top_builddir)/data/elementary/config/standard/$@ config $< 1 clean-local: rm -rf *.cfg *~ diff --git a/config/standard/base.src.in b/data/elementary/config/standard/base.src.in similarity index 98% rename from config/standard/base.src.in rename to data/elementary/config/standard/base.src.in index 9781512539..ae0de27562 100644 --- a/config/standard/base.src.in +++ b/data/elementary/config/standard/base.src.in @@ -1,5 +1,5 @@ group "Elm_Config" struct { - value "config_version" int: 131087; + value "config_version" int: 131089; value "entry_select_allow" uchar: 1; value "engine" string: ""; value "vsync" uchar: 0; @@ -73,6 +73,7 @@ group "Elm_Config" struct { value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */ value "glayer_double_tap_timeout" double: 0.25; /* Timeout between two mouse dows when doing double click (and more). */ value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */ + value "glayer_tap_finger_size" int: 10; value "week_start" int: 1; value "weekend_start" int: 6; value "weekend_len" int: 2; @@ -2328,6 +2329,59 @@ group "Elm_Config" struct { } } } + group "Elm_Config_Bindings_Widget" struct { + value "name" string: "Efl.Ui.Slider"; + group "key_bindings" list { + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Left"; + value "action" string: "drag"; + value "params" string: "left"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Left"; + value "action" string: "drag"; + value "params" string: "left"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Right"; + value "action" string: "drag"; + value "params" string: "right"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Right"; + value "action" string: "drag"; + value "params" string: "right"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Up"; + value "action" string: "drag"; + value "params" string: "up"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Up"; + value "action" string: "drag"; + value "params" string: "up"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "Down"; + value "action" string: "drag"; + value "params" string: "down"; + } + group "Elm_Config_Binding_Key" struct { + value "context" int: 0; + value "key" string: "KP_Down"; + value "action" string: "drag"; + value "params" string: "down"; + } + } + } group "Elm_Config_Bindings_Widget" struct { value "name" string: "Efl.Ui.Slider_Interval"; group "key_bindings" list { diff --git a/config/standard/icon.png b/data/elementary/config/standard/icon.png similarity index 100% rename from config/standard/icon.png rename to data/elementary/config/standard/icon.png diff --git a/config/standard/profile.desktop b/data/elementary/config/standard/profile.desktop similarity index 100% rename from config/standard/profile.desktop rename to data/elementary/config/standard/profile.desktop diff --git a/data/elementary/desktop/Makefile.am b/data/elementary/desktop/Makefile.am index c49fe4e7f9..19d9f8c777 100644 --- a/data/elementary/desktop/Makefile.am +++ b/data/elementary/desktop/Makefile.am @@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in desktopdir = $(datadir)/applications desktop_DATA = elementary_test.desktop elementary_config.desktop -icondir = $(datadir)/icons +icondir = $(datadir)/icons/hicolor/128x128/apps icon_DATA = elementary.png EXTRA_DIST = $(desktop_DATA) $(icon_DATA) diff --git a/data/elementary/images/Makefile.am b/data/elementary/images/Makefile.am index 6ecc178d52..6f028257cb 100644 --- a/data/elementary/images/Makefile.am +++ b/data/elementary/images/Makefile.am @@ -50,7 +50,8 @@ elementary_images_files = \ elementary/images/pm_fill.png \ elementary/images/pt.png \ elementary/images/earth_normal.png \ - elementary/images/space.png + elementary/images/space.png \ + elementary/images/image_items.eet elementary_images_glayer_files = \ elementary/images/g_layer/double_tap_1.png \ diff --git a/data/elementary/images/image_items.eet b/data/elementary/images/image_items.eet new file mode 100644 index 0000000000..1db45dfaa3 Binary files /dev/null and b/data/elementary/images/image_items.eet differ diff --git a/data/elementary/objects/Makefile.am b/data/elementary/objects/Makefile.am index 1c98813325..ac8391f79a 100644 --- a/data/elementary/objects/Makefile.am +++ b/data/elementary/objects/Makefile.am @@ -6,6 +6,7 @@ elementary/objects/test_external.edc \ elementary/objects/test_masking.edc \ elementary/objects/test_prefs.edc \ elementary/objects/test_prefs.epc \ +elementary/objects/test_tab_pager.edc \ elementary/objects/multip.edc \ elementary/objects/cursors.edc \ elementary/objects/font_preview.edc \ diff --git a/data/elementary/objects/test_tab_pager.edc b/data/elementary/objects/test_tab_pager.edc new file mode 100644 index 0000000000..95715713ae --- /dev/null +++ b/data/elementary/objects/test_tab_pager.edc @@ -0,0 +1,66 @@ +collections { + group { "tab_page_layout"; + parts { + spacer { "base"; + scale; + desc { "default"; + } + } + swallow { "menu"; + scale; + desc { "default"; + rel.to: "base"; + align: 0 0; + min: 200 0; + max: 200 -1; + fixed: 0 1; + } + } + rect { "separator"; + scale; + desc { "default"; + rel.to: "menu"; + rel1.relative: 1 0; + align: 0 0; + min: 1 0; + max: 1 -1; + fixed: 0 1; + color: 75 75 75 255; + } + } + swallow { "tab_pager"; + scale; + desc { "default"; + rel1.to: "separator"; + rel2.to: "base"; + rel1.relative: 1 0; + } + } + } + } + group { "page_layout"; + parts { + spacer { "base"; + scale; + desc { "default"; + } + } + rect { "bg"; + scale; + desc { "default"; + rel.to: "base"; + color: 255 255 255 255; + } + } + text { "text"; + scale; + desc { "default"; + rel.to: "base"; + align: 0.5 0.5; + color: 0 0 0 255; + text.size: 20; + } + } + } + } +} diff --git a/data/elementary/themes/Makefile.am b/data/elementary/themes/Makefile.am index 74ba32fa63..e6777477ed 100644 --- a/data/elementary/themes/Makefile.am +++ b/data/elementary/themes/Makefile.am @@ -149,7 +149,6 @@ elementary/themes/edc/elm/textpath.edc \ elementary/themes/edc/elm/thumb.edc \ elementary/themes/edc/elm/toolbar.edc \ elementary/themes/edc/elm/tooltip.edc \ -elementary/themes/edc/elm/uiclock.edc \ elementary/themes/edc/elm/video.edc \ elementary/themes/edc/elm/win.edc \ \ @@ -1022,23 +1021,32 @@ elementary/themes/edc/efl/uiclock.edc \ elementary/themes/edc/efl/cursor.edc \ elementary/themes/edc/efl/focus.edc \ elementary/themes/edc/efl/frame.edc \ -elementary/themes/edc/efl/multibuttonentry.edc \ +elementary/themes/edc/efl/navigation_bar.edc \ +elementary/themes/edc/efl/navigation_layout.edc \ +elementary/themes/edc/efl/tags.edc \ elementary/themes/edc/efl/nstate.edc \ elementary/themes/edc/efl/panes.edc \ elementary/themes/edc/efl/photocam.edc \ elementary/themes/edc/efl/popup.edc \ +elementary/themes/edc/efl/pointer.edc \ elementary/themes/edc/efl/progress.edc \ elementary/themes/edc/efl/radio.edc \ elementary/themes/edc/efl/scroller.edc \ elementary/themes/edc/efl/slider.edc \ elementary/themes/edc/efl/spin.edc \ elementary/themes/edc/efl/spin_button.edc \ +elementary/themes/edc/efl/datepicker.edc \ +elementary/themes/edc/efl/timepicker.edc \ elementary/themes/edc/efl/text.edc \ elementary/themes/edc/efl/textpath.edc \ elementary/themes/edc/efl/tooltip.edc \ elementary/themes/edc/efl/video.edc \ elementary/themes/edc/efl/list.edc \ -elementary/themes/edc/efl/win.edc +elementary/themes/edc/efl/win.edc \ +elementary/themes/edc/efl/pager.edc \ +elementary/themes/edc/efl/tab_pager.edc \ +elementary/themes/edc/efl/tab_bar.edc \ +elementary/themes/edc/efl/tab_page.edc elementary_fdo_actions_128_files = \ elementary/themes/fdo/actions/128/address-book-new.png \ @@ -1492,6 +1500,12 @@ elementary_fdo_intl_128_files = \ elementary/themes/fdo/intl/128/flag-vn.png \ elementary/themes/fdo/intl/128/flag-za.png +elementary_fdo_mimetypes_16_files = \ + elementary/themes/fdo/mimetypes/16/inode-directory.png + +elementary_fdo_mimetypes_128_files = \ + elementary/themes/fdo/mimetypes/128/inode-directory.png + elementary_fdo_files = \ $(elementary_fdo_actions_128_files) \ @@ -1503,7 +1517,9 @@ elementary_fdo_files = \ $(elementary_fdo_status_128_files) \ $(elementary_fdo_devices_128_files) \ $(elementary_fdo_apps_64_files) \ - $(elementary_fdo_intl_128_files) + $(elementary_fdo_intl_128_files) \ + $(elementary_fdo_mimetypes_16_files) \ + $(elementary_fdo_mimetypes_128_files) EXTRA_DIST += $(elementary_themes_files) $(efl_ui_themes_files) $(elementary_fdo_files) diff --git a/data/elementary/themes/colorclasses.edc b/data/elementary/themes/colorclasses.edc index bf294bfe1c..0af1fc4875 100644 --- a/data/elementary/themes/colorclasses.edc +++ b/data/elementary/themes/colorclasses.edc @@ -208,6 +208,14 @@ color_classes { color: 0 0 0 0; desc: "Background of a datetime widget"; } + color_class { name: "datepicker_bg"; + color: 0 0 0 0; + desc: "Background of a datepicker widget"; + } + color_class { name: "timepicker_bg"; + color: 0 0 0 0; + desc: "Background of a timepicker widget"; + } color_class { name: "datetime_separator_text"; color: FN_COL_DEFAULT; desc: "Text in a datetime separator area"; @@ -386,6 +394,30 @@ color_classes { color: FN_COL_DISABLE; desc: "Text of a disabled multibuttonentry item"; } + color_class { name: "tags_bg"; + color: 0 0 0 0; + desc: "Background of a tags widget"; + } + color_class { name: "tags_item_bg"; + color: 0 0 0 0; + desc: "Background of a tags item object"; + } + color_class { name: "tags_item_bg_selected"; + color: 0 0 0 0; + desc: "Background of a selected tags item object"; + } + color_class { name: "tags_item_text"; + color: FN_COL_DEFAULT; + desc: "Text of a tags item"; + } + color_class { name: "tags_item_text_pressed"; + color: FN_COL_HIGHLIGHT; + desc: "Text of a pressed tags item"; + } + color_class { name: "tags_item_text_disabled"; + color: FN_COL_DISABLE; + desc: "Text of a disabled tags item"; + } color_class { "elm/win/background"; color: 64 64 64 255; desc: "Background color of a standard window"; diff --git a/data/elementary/themes/default.edc b/data/elementary/themes/default.edc index 0b43454863..b48a26b0b2 100644 --- a/data/elementary/themes/default.edc +++ b/data/elementary/themes/default.edc @@ -5,6 +5,7 @@ externals.external: "elm"; // theme api version. from 1.10 on we will check version to avoid // compat issues data.item: "version" "119"; +data.item: "efl_theme_base" "dark"; collections { #include "fonts.edc" @@ -35,7 +36,6 @@ collections { #include "edc/elm/access.edc" #include "edc/elm/photo.edc" #include "edc/elm/focus.edc" -#include "edc/elm/uiclock.edc" #include "edc/elm/player.edc" #include "edc/elm/thumb.edc" #include "edc/elm/pointer.edc" @@ -167,10 +167,12 @@ collections { #include "edc/efl/bg.edc" #include "edc/efl/button.edc" #include "edc/efl/calendar.edc" +#include "edc/efl/navigation_bar.edc" +#include "edc/efl/navigation_layout.edc" #include "edc/efl/nstate.edc" -#include "edc/efl/list.edc" // XXX: mobile mode needs invisible scrollers... make signals that do this #include "edc/efl/scroller.edc" +#include "edc/efl/list.edc" // XXX: mobile mode needs different entry setup #include "edc/efl/text.edc" #include "edc/efl/frame.edc" @@ -181,16 +183,23 @@ collections { #include "edc/efl/popup.edc" #include "edc/efl/video.edc" #include "edc/efl/focus.edc" -#include "edc/efl/multibuttonentry.edc" +#include "edc/efl/tags.edc" #include "edc/efl/tooltip.edc" #include "edc/efl/photocam.edc" #include "edc/efl/progress.edc" #include "edc/efl/border.edc" #include "edc/efl/spin.edc" #include "edc/efl/spin_button.edc" +#include "edc/efl/datepicker.edc" +#include "edc/efl/timepicker.edc" // XXX: min size calc problems - too wide! ... err ok on my 32bit box... eh? #include "edc/efl/cursor.edc" +#include "edc/efl/pointer.edc" #include "edc/efl/textpath.edc" #include "edc/efl/win.edc" #include "edc/efl/uiclock.edc" +#include "edc/efl/pager.edc" +#include "edc/efl/tab_pager.edc" +#include "edc/efl/tab_bar.edc" +#include "edc/efl/tab_page.edc" } diff --git a/data/elementary/themes/edc/dialog.edc b/data/elementary/themes/edc/dialog.edc index 343197df10..907aca29f5 100644 --- a/data/elementary/themes/edc/dialog.edc +++ b/data/elementary/themes/edc/dialog.edc @@ -43,7 +43,7 @@ group { name: "e/widgets/dialog/main"; rel1.offset: 4 4; rel2.relative: 0.0 1.0; rel2.offset: -1 0; - rel2.to_y: "button.spacer"; + rel2.to_y: "button_spacer"; fixed: 1 0; visible: 0; } @@ -58,7 +58,7 @@ group { name: "e/widgets/dialog/main"; rel1.to_x: "base"; rel2.to_x: "base"; rel2.offset: -5 -1; - rel2.to_y: "button.spacer"; + rel2.to_y: "button_spacer"; } description { state: "icon" 0.0; inherit: "default" 0.0; @@ -66,7 +66,7 @@ group { name: "e/widgets/dialog/main"; rel1.to_x: "e.swallow.icon"; } } - spacer { "button.spacer"; + spacer { "button_spacer"; desc { rel2.relative: 1.0 0.0; rel2.offset: -5 -8; diff --git a/data/elementary/themes/edc/efl/bg.edc b/data/elementary/themes/edc/efl/bg.edc index 43547d3033..98c449d79e 100644 --- a/data/elementary/themes/edc/efl/bg.edc +++ b/data/elementary/themes/edc/efl/bg.edc @@ -1,11 +1,46 @@ /* bg widget style information [SWALLOW] - elm.swallow.rectangle: Used for elm_bg_color_set() - elm.swallow.background: Used for elm_bg_file_set() - elm.swallow.content: Used for elm_layout_part_content_set(bg, "overlay", content). + efl.rectangle: Used for elm_bg_color_set() + efl.background: Used for elm_bg_file_set() + efl.content: Used for elm_layout_part_content_set(bg, "overlay", content). */ group { "efl/bg"; - inherit: "elm/bg/base/default"; -} + data.item: "version" "119"; + images.image: "bevel_dark_out.png" COMP; + parts { + part { name: "clipper"; type: RECT; + description { state: "default" 0.0; + } + } + part { name: "base"; type: RECT; + description { state: "default" 0.0; + color_class: "dialog_base"; + color: 64 64 64 255; + } + } + part { name: "efl.rectangle"; type: SWALLOW; + description { state: "default" 0.0; + } + } + part { name: "efl.background"; type: SWALLOW; + clip_to: "clipper"; + description { state: "default" 0.0; + fixed: 1 1; + } + } + part { name: "bevel"; + description { state: "default" 0.0; + image.normal: "bevel_dark_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + } + } + part { name: "efl.content"; type: SWALLOW; + description { state: "default" 0.0; + } + } + } +} \ No newline at end of file diff --git a/data/elementary/themes/edc/efl/border.edc b/data/elementary/themes/edc/efl/border.edc index 55748268de..1bd5a738ac 100644 --- a/data/elementary/themes/edc/efl/border.edc +++ b/data/elementary/themes/edc/efl/border.edc @@ -8,14 +8,1215 @@ */ group { "efl/border"; - inherit: "elm/border/base/default"; + images.image: "vgrad_med_lighter.png" COMP; + images.image: "vgrad_med_dark.png" COMP; + images.image: "bevel_out.png" COMP; + images.image: "shine.png" COMP; + images.image: "bevel_dark_out.png" COMP; + images.image: "sym_close_dark_normal.png" COMP; + images.image: "sym_close_dark_selected.png" COMP; + images.image: "sym_close_light_normal.png" COMP; + images.image: "sym_close_light_selected.png" COMP; + images.image: "sym_down_dark_normal.png" COMP; + images.image: "sym_down_dark_selected.png" COMP; + images.image: "sym_down_light_normal.png" COMP; + images.image: "sym_down_light_selected.png" COMP; + images.image: "sym_up_dark_normal.png" COMP; + images.image: "sym_up_dark_selected.png" COMP; + images.image: "sym_up_light_normal.png" COMP; + images.image: "sym_up_light_selected.png" COMP; + images.image: "glow_round_corners_small.png" COMP; + images.image: "knob_round_small_busy.png" COMP; + images.image: "screen_circular_shadow.png" COMP; + images.image: "win_shadow.png" COMP; + data.item: "shadow" "1"; + data.item: "version" "119"; + parts { + /* opaque region of the window, to inform the compositor */ + spacer { "efl.spacer.opaque"; + desc { + rel1.to: "top_clip"; + rel2.to: "bottom_clip"; + } + desc { "max"; inherit: "default"; } + } + /* covers the entire client contents, excluding the main menu */ + spacer { "efl.spacer.content"; + required; // since 1.19 + desc { + rel1.to: "efl.menu"; + rel1.relative: 0.0 1.0; + rel2.to: "efl.keyboard"; + rel2.relative: 1.0 0.0; + } + } + /* shadow spacer and clipper */ + spacer { "shadow_spacer"; + desc { "default"; + WIN_SHADOW_SPACER; + } + desc { "hidden"; + rel1.offset: 0 0; + rel2.offset: -1 -1; + } + } + image { "shadow"; nomouse; + desc { "default"; + rel.to: "shadow_spacer"; + WIN_SHADOW; + } + desc { "hidden"; inherit: "default"; hid; } + } + /* window background: solid color */ + rect { "bg_clip"; + nomouse; + desc { "default"; + rel1.to: "top_clip"; + rel1.relative: 0.0 1.0; + rel2.to: "bottom_clip"; + } + } + rect { "efl.rect.background"; + required; // @since 1.19 + clip: "bg_clip"; + desc { "default"; + color: 255 255 255 255; + color_class: "elm/win/background"; // FIXME: color_class naming scheme + visible: 0; + } + desc { "visible"; + inherit: "default"; + visible: 1; + } + } + /* window background: image */ + swallow { "efl.background"; + required; // @since 1.19 + clip: "client_clip"; + } + image { "background_bevel"; + desc { "default"; + image { + normal: "bevel_dark_out.png"; + border: 1 1 1 1; + middle: 0; + } + fill.smooth: 0; + rel.to: "efl.spacer.content"; + visible: 0; + } + desc { "visible"; + inherit: "default"; + visible: 1; + } + } + spacer { "indicator_spacer"; + desc { "default"; + rel.to: "efl.indicator"; + } + desc { "hidden"; + rel.to: "top_clip"; + rel1.relative: 0.0 1.0; + align: 0.5 0.0; + fixed: 1 1; + } + } + + /* main menu */ + rect { "menu_bg"; + desc { "default"; + color: 64 64 64 255; // FIXME: color_class + align: 0.5 0.0; + rel.to: "efl.menu"; + } + } + swallow { "efl.menu"; + required: 1; // since 1.19 + desc { "default"; + rel.to: "indicator_spacer"; + rel1.relative: 0.0 1.0; + visible: 0; + align: 0.5 0.0; + fixed: 1 1; + } + desc { "visible"; inherit: "default"; + visible: 1; + fixed: 0 1; + } + } + + /* application contents - spacer and clipper (without main menu) */ + spacer { "client_spacer"; + desc { "default"; + rel1.to: "efl.menu"; + rel1.relative: 0.0 1.0; + rel2.to: "efl.keyboard"; + rel2.relative: 1.0 0.0; + } + } + rect { "client_clip"; + nomouse; + desc { "default"; + rel.to: "client_spacer"; + } + } + + /* application contents */ + swallow { "efl.client"; + clip: "client_clip"; + desc { "default"; + rel.to: "client_spacer"; + } + } + + /* modal window blocker */ + rect { "rect.blocker"; + required; + desc { "default"; + rel1.to: "top_clip"; + rel1.relative: 0.0 1.0; + rel2.to: "bottom_clip"; + rel2.relative: 1.0 0.0; + color: 0 0 0 0; + hid; + } + desc { "visible"; + inherit: "default"; + color_class: "elm/win/blocker"; + color: 255 255 255 255; + vis; + } + } + + /* top title bar - spacer and clipper */ + rect { "top_clip"; //nomouse; + desc { "default"; + rel1.to: "shadow_spacer"; + rel2.to_y: "title2"; + rel2.to_x: "shadow_spacer"; + vis; + } + desc { "hidden"; + inherit: "default"; + rel1.relative: 0.0 0.0; + rel2.to: "shadow_spacer"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 -1; + max: -1 0; + min: 0 0; + fixed: 0 1; + hid; + } + } + /* top title bar */ + image { "top"; nomouse; + clip: "top_clip"; + desc { "default"; + image.normal: "vgrad_med_lighter.png"; + rel.to: "top_clip"; + fill.smooth: 0; + TILED_HORIZ(120) + color_class: "border_frame"; + } + desc { "focused"; + inherit: "default"; + image.normal: "vgrad_med_dark.png"; + color_class: "border_frame_active"; + } + } + image { "bevel"; nomouse; + clip: "top_clip"; + desc { "default"; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + rel.to: "top_clip"; + fill.smooth: 0; + } + } + text { "efl.text.title"; nomouse; + scale: 1; + effect: SHADOW BOTTOM; + clip: "top_clip"; + desc { "default"; + rel1.relative: 1.0 0.0; + rel1.offset: 1 3; + rel1.to_x: "event.icon"; + rel1.to_y: "shadow_spacer"; + rel2.relative: 0.0 0.0; + rel2.offset: -2 3; + rel2.to_x: "event.minimize"; + rel2.to_y: "shadow_spacer"; + align: 0.5 0.0; + color_class: "border_title"; + color3: 255 255 255 255; + text { font: FNBD; size: 10; + text_class: "title_bar"; + align: 0.5 0.0; + min: 0 1; + } + fixed: 0 1; + } + desc { "focused"; + inherit: "default"; + visible: 0; + } + } + text { "title2"; nomouse; + scale: 1; + effect: SOFT_SHADOW BOTTOM; + clip: "top_clip"; + desc { "default"; + rel1.relative: 1.0 0.0; + rel1.offset: 1 2; + rel1.to_x: "event.icon"; + rel1.to_y: "shadow_spacer"; + rel2.relative: 0.0 0.0; + rel2.offset: -1 2; + rel2.to_x: "event.minimize"; + rel2.to_y: "shadow_spacer"; + align: 0.5 0.0; + color_class: "border_title_active"; + color3: 255 255 255 255; + text { font: FNBD; size: 10; + text_source: "efl.text.title"; + text_class: "title_bar"; + align: 0.5 0.0; + min: 0 1; + } + fixed: 0 1; + visible: 0; + } + desc { "focused"; + inherit: "default"; + visible: 1; + } + } + spacer { "icon"; + desc { "default"; + rel1.to: "event.icon"; + rel2.to: "event.icon"; + } + desc { "bounce1"; + inherit: "default"; + rel1.relative: 0.5 0.5; + rel2.relative: 0.5 0.5; + } + desc { "bounce2"; + inherit: "default"; + rel1.relative: -0.5 -0.5; + rel2.relative: 1.2 1.2; + } + } + swallow { "efl.icon"; nomouse; + clip_to: "top_clip"; + desc { "default"; + rel1.to: "icon"; + rel1.relative: 0.15 0.15; + rel2.to: "icon"; + rel2.relative: 0.85 0.85; + rel2.offset: 0 0; + } + } + rect { "busy_clip"; nomouse; + desc { "default"; + color: 255 255 255 0; + visible: 0; + } + desc { "hung"; + inherit: "default"; + color: 255 255 255 255; + visible: 1; + } + } + image { "knob"; nomouse; + clip: "busy_clip"; + desc { "default"; + fixed: 1 1; + image.normal: "knob_round_small_busy.png"; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + max: 20 20; + rel1.relative: 1.0 0.0; + rel1.offset: 2 -0; + rel1.to: "event.icon"; + rel2.relative: 1.0 1.0; + rel2.offset: 2 -1; + rel2.to: "event.icon"; + align: 0.0 0.5; + fixed: 1 1; + } + } + image { "knob_spinner"; nomouse; + clip: "busy_clip"; + desc { "default"; + fixed: 1 1; + rel1.to: "knob"; + rel2.to: "knob"; + image.normal: "glow_round_corners_small.png"; + map.on: 1; + map.smooth: 1; + map.rotation.center: "knob"; + } + desc { "spin"; + inherit: "default"; + map.rotation.z: 360; + } + } + rect { "clip1"; nomouse; + desc { "default"; + rel1.to: "top_clip"; + rel2.to: "top_clip"; + } + desc { "focused"; + inherit: "default"; + visible: 0; + } + } + rect { "clip2"; nomouse; + desc { "default"; + rel1.to: "top_clip"; + rel2.to: "top_clip"; + visible: 0; + } + desc { "focused"; + inherit: "default"; + visible: 1; + } + } + image { "close1"; nomouse; + clip: "clip1"; + desc { "default"; + image.normal: "sym_close_dark_normal.png"; + rel1.to: "event.close"; + rel2.to: "event.close"; + min: 15 15; + max: 15 15; + fixed: 1 1; + } + desc { "selected"; + inherit: "default"; + image.normal: "sym_close_dark_selected.png"; + } + } + image { "max1"; nomouse; + clip: "clip1"; + desc { "default"; + image.normal: "sym_up_dark_normal.png"; + rel1.to: "event.maximize"; + rel2.to: "event.maximize"; + min: 15 15; + max: 15 15; + fixed: 1 1; + } + desc { "selected"; + inherit: "default"; + image.normal: "sym_up_dark_selected.png"; + } + } + image { "min1"; nomouse; + clip: "clip1"; + desc { "default"; + image.normal: "sym_down_dark_normal.png"; + rel1.to: "event.minimize"; + rel2.to: "event.minimize"; + min: 15 15; + max: 15 15; + fixed: 1 1; + } + desc { "selected"; + inherit: "default"; + image.normal: "sym_down_dark_selected.png"; + } + } + image { "close2"; nomouse; + clip: "clip2"; + desc { "default"; + image.normal: "sym_close_light_normal.png"; + rel1.to: "event.close"; + rel2.to: "event.close"; + min: 15 15; + max: 15 15; + fixed: 1 1; + } + desc { "selected"; + inherit: "default"; + image.normal: "sym_close_light_selected.png"; + } + } + image { "max2"; nomouse; + clip: "clip2"; + desc { "default"; + image.normal: "sym_up_light_normal.png"; + rel1.to: "event.maximize"; + rel2.to: "event.maximize"; + min: 15 15; + max: 15 15; + fixed: 1 1; + } + desc { "selected"; + inherit: "default"; + image.normal: "sym_up_light_selected.png"; + } + } + image { "min2"; nomouse; + clip: "clip2"; + desc { "default"; + image.normal: "sym_down_light_normal.png"; + rel1.to: "event.minimize"; + rel2.to: "event.minimize"; + min: 15 15; + max: 15 15; + fixed: 1 1; + } + desc { "selected"; + inherit: "default"; + image.normal: "sym_down_light_selected.png"; + } + } + rect { "event.icon"; + desc { "default"; + rel1.relative: 0.0 0.0; + rel1.to: "top_clip"; + rel2.relative: 0.0 1.0; + rel2.to: "top_clip"; + align: 0.0 0.5; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + color: 0 0 0 0; + } + } + rect { "event.titlebar"; + desc { "default"; + rel1.relative: 1.0 0.0; + rel1.to_x: "event.icon"; + rel1.to_y: "top_clip"; + rel2.relative: 0.0 1.0; + rel2.offset: 0 -1; + rel2.to_x: "event.minimize"; + rel2.to_y: "top_clip"; + color: 0 0 0 0; + } + } + rect { "event.close"; + desc { "default"; + rel.to: "top_clip"; + rel1.relative: 1.0 0.0; + rel2.relative: 1.0 1.0; + align: 1.0 0.5; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + color: 0 0 0 0; + } + } + rect { "event.maximize"; + desc { "default"; + rel1.relative: -0.25 0.0; + rel1.offset: -1 0; + rel1.to_x: "event.close"; + rel1.to_y: "top_clip"; + rel2.relative: -0.25 1.0; + rel2.to_x: "event.close"; + rel2.to_y: "top_clip"; + align: 1.0 0.5; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + color: 0 0 0 0; + } + } + rect { "event.minimize"; + desc { "default"; + rel1.relative: 0.0 0.0; + rel1.offset: -1 0; + rel1.to_x: "event.maximize"; + rel1.to_y: "top_clip"; + rel2.relative: 0.0 1.0; + rel2.to_y: "top_clip"; + rel2.to_x: "event.maximize"; + align: 1.0 0.5; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + color: 0 0 0 0; + } + } + rect { "top_resize_clip"; + clip: "top_clip"; + desc { "default"; + rel.to: "top_clip"; + } + desc { "hidden"; + inherit: "default"; + hid; + } + } + rect { "efl.event.resize.tl"; + clip: "top_resize_clip"; + desc { "default"; + rel.to: "top_clip"; + rel2.relative: 0.0 0.0; + min: 32 4; + align: 0.0 0.0; + color: 0 0 0 0; + fixed: 1 1; + } + desc { "hidden"; inherit: "default"; hid; } + } + rect { "efl.event.resize.t"; + clip: "top_resize_clip"; + desc { "default"; + rel1.relative: 1.0 0.0; + rel1.to_y: "top_clip"; + rel1.to_x: "efl.event.resize.tl"; + rel2.relative: 0.0 0.0; + rel2.to_x: "efl.event.resize.tr"; + rel2.to_y: "top_clip"; + min: 0 4; + align: 0.5 0.0; + color: 0 0 0 0; + fixed: 1 1; + } + desc { "hidden"; inherit: "default"; hid; } + } + rect { "efl.event.resize.tr"; + clip: "top_resize_clip"; + desc { "default"; + rel.to: "top_clip"; + rel1.relative: 1.0 0.0; + rel2.relative: 1.0 0.0; + min: 32 4; + align: 1.0 0.0; + color: 0 0 0 0; + fixed: 1 1; + } + desc { "hidden"; inherit: "default"; hid; } + } + /* bottom border - spacer and clipper */ + swallow { "efl.keyboard"; + desc { "default"; + rel.to: "bottom_clip"; + rel2.relative: 1.0 0.0; + align: 0.0 1.0; + fixed: 0 1; + } + } + rect { "bottom_clip"; + desc { "default"; + rel.to: "shadow_spacer"; + rel1 { relative: 0.0 1.0; offset: 0 -5; } + min: 0 5; + fixed: 0 1; + } + desc { "hidden"; + inherit: "default"; + rel1 { relative: 0.0 1.0; offset: 0 0; } + min: 0 0; + hid; + } + } + rect { "bottom"; + nomouse; + desc { "default"; + color_class: "border_bottom"; + color: 64 64 64 255; /* FIXME */ + rel.to: "bottom_clip"; + } + } + image { "bevel2"; nomouse; + clip: "bottom_clip"; + desc { "default"; + image.normal: "bevel_dark_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + rel.to: "bottom_clip"; + fill.smooth: 0; + } + } + rect { "efl.event.resize.bl"; + clip: "bottom_clip"; + desc { "default"; + rel1.relative: 0.0 1.0; + rel1.to: "bottom_clip"; + rel2.relative: 0.0 1.0; + rel2.to: "bottom_clip"; + min: 32 5; + align: 0.0 1.0; + color: 0 0 0 0; + fixed: 1 1; + } + desc { "hidden"; inherit: "default"; hid; } + } + rect { "efl.event.resize.b"; + clip: "bottom_clip"; + desc { "default"; + rel1.relative: 1.0 1.0; + rel1.to_x: "efl.event.resize.tl"; + rel1.to_y: "bottom_clip"; + rel1.offset: 0 -1; + rel2.relative: 0.0 1.0; + rel2.to_x: "efl.event.resize.tr"; + rel2.to_y: "bottom_clip"; + min: 0 5; + align: 0.5 1.0; + color: 0 0 0 0; + fixed: 0 1; + } + desc { "hidden"; inherit: "default"; hid; } + } + rect { "efl.event.resize.br"; + clip: "bottom_clip"; + desc { "default"; + rel1.relative: 1.0 1.0; + rel1.to: "bottom_clip"; + rel2.relative: 1.0 1.0; + rel2.to: "bottom_clip"; + min: 32 5; + align: 1.0 1.0; + color: 0 0 0 0; + fixed: 1 1; + } + desc { "hidden"; inherit: "default"; hid; } + } + /* top title bar decoration */ + image { "shine"; nomouse; + clip: "top_clip"; + desc { "default"; + image.normal: "shine.png"; + rel.to: "top_clip"; + rel1.offset: 0 -2; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + FIXED_SIZE(69, 5) + } + } + rect { "indicator_bg"; + clip: "bg_clip"; + desc { "default"; + color: 148 23 45 255; + rel.to: "efl.indicator"; + } + desc { "bg_transparent"; + inherit: "default"; + color: 0 0 0 0; + } + } + swallow { "efl.indicator"; + clip: "bg_clip"; + desc { "default"; + rel.to: "top_clip"; + rel1.relative: 0.0 1.0; + visible: 0; + align: 0.5 0.0; + fixed: 1 1; + } + desc { "visible"; inherit: "default"; + visible: 1; + fixed: 0 1; + } + desc { "hidden"; inherit: "visible"; + align: 0.5 1.0; + } + } + } + +#define BORDERLESS 1 +#define MAXIMIZED 2 +#define UNRESIZABLE 4 +#define SET_MODE(a) script { new m = get_int(border_mode); m |= (a); set_int(border_mode, m); eval_mode(m); } +#define UNSET_MODE(a) script { new m = get_int(border_mode); m &= ~(a); set_int(border_mode, m); eval_mode(m); } + +#define INDICATOR_TYPE_UNKNOWN 0 +#define INDICATOR_TYPE_BG_OPAQUE 1 +#define INDICATOR_TYPE_BG_TRANSPARENT 2 +#define INDICATOR_TYPE_HIDDEN 3 + + programs { + script { + public border_mode; + public indicator_type = 0; + public indicator_enabled = 0; + public eval_mode(m) { + if (m & (BORDERLESS | MAXIMIZED | UNRESIZABLE)) { + set_state(PART:"bottom_clip", "hidden", 0.0); + set_state(PART:"top_resize_clip", "hidden", 0.0); + } else { + set_state(PART:"bottom_clip", "default", 0.0); + set_state(PART:"top_resize_clip", "default", 0.0); + } + } + } + program { + signal: "efl,state,borderless,on"; source: "efl"; + action: STATE_SET "hidden"; + targets: "top_clip" "bottom_clip"; + after: "borderless,on"; + } + program { "borderless,on"; SET_MODE(BORDERLESS); } + program { + signal: "efl,state,borderless,off"; source: "efl"; + action: STATE_SET "default"; + targets: "top_clip" "bottom_clip"; + after: "borderless,off"; + } + program { "borderless,off"; UNSET_MODE(BORDERLESS); } + program { + signal: "efl,state,unresizable,on"; source: "efl"; + SET_MODE(UNRESIZABLE); + } + program { + signal: "efl,state,unresizable,off"; source: "efl"; + UNSET_MODE(UNRESIZABLE); + } + program { + signal: "efl,state,shadow,on"; source: "efl"; + action: STATE_SET "default"; + targets: "shadow_spacer" "shadow"; + } + program { + signal: "efl,state,shadow,off"; source: "efl"; + action: STATE_SET "hidden"; + targets: "shadow_spacer" "shadow"; + } + program { + signal: "efl,state,background,solid,on"; source: "efl"; + action: STATE_SET "visible"; + target: "efl.rect.background"; + } + program { + signal: "efl,state,background,solid,off"; source: "efl"; + action: STATE_SET "default"; + target: "efl.rect.background"; + } + program { + signal: "efl,state,background,standard,on"; source: "efl"; + action: STATE_SET "visible"; + target: "background_bevel"; + } + program { + signal: "efl,state,background,standard,off"; source: "efl"; + action: STATE_SET "default"; + target: "background_bevel"; + } + program { + signal: "efl,action,focus"; source: "efl"; + action: STATE_SET "focused"; + target: "top"; + target: "efl.text.title"; + target: "title2"; + target: "clip1"; + target: "clip2"; + } + program { + signal: "efl,action,unfocus"; source: "efl"; + action: STATE_SET "default"; + target: "top"; + target: "efl.text.title"; + target: "title2"; + target: "clip1"; + target: "clip2"; + } + program { + signal: "efl,state,urgent"; source: "efl"; + action: STATE_SET "bounce1"; + target: "icon"; + after: "urg1"; + } + program { name: "urg1"; + action: STATE_SET "bounce2"; + transition: DECELERATE 0.4; + target: "icon"; + after: "urg2"; + } + program { name: "urg2"; + action: STATE_SET "bounce1"; + transition: ACCELERATE 0.3; + target: "icon"; + after: "urg1"; + } + program { + signal: "efl,state,not_urgent"; source: "efl"; + action: STATE_SET "default"; + target: "icon"; + } + program { name: "spin"; + signal: "efl,state,hung"; source: "efl"; + action: STATE_SET "spin"; + transition: LINEAR 1.0; + target: "knob_spinner"; + after: "spin2"; + } + program { name: "spin2"; + action: STATE_SET "default"; + target: "knob_spinner"; + after: "spin"; + } + program { + signal: "efl,state,hung"; source: "efl"; + action: STATE_SET "hung"; + transition: SINUSOIDAL 0.25; + target: "busy_clip"; + } + program { + signal: "efl,state,unhung"; source: "efl"; + action: STATE_SET "default"; + transition: SINUSOIDAL 1.0; + target: "busy_clip"; + after: "spin3"; + } + program { name: "spin3"; + action: ACTION_STOP; + target: "spin"; + target: "spin2"; + after: "spin4"; + } + program { name: "spin4"; + action: STATE_SET "default"; + target: "knob_spinner"; + } + + /* maximize & unmaximize */ + program { + signal: "efl,state,maximize*"; source: "efl"; + action: STATE_SET "max"; + target: "efl.spacer.opaque"; + } + program { + signal: "efl,state,maximize*"; source: "efl"; + SET_MODE(MAXIMIZED); + } + program { + signal: "efl,state,unmaximize*"; source: "efl"; + action: STATE_SET "default"; + target: "efl.spacer.opaque"; + } + program { + signal: "efl,state,unmaximize*"; source: "efl"; + UNSET_MODE(MAXIMIZED); + } + + /*indicator*/ + program { + signal: "efl,action,show_indicator"; source: "efl"; + script { + set_int(indicator_enabled, 1); + } + after: "update_indicator"; + } + program { + signal: "efl,action,hide_indicator"; source: "efl"; + script { + set_int(indicator_enabled, 0); + } + after: "update_indicator"; + } + program { + signal: "efl,action,indicator,bg_opaque"; source: "efl"; + script { + set_int(indicator_type, INDICATOR_TYPE_BG_OPAQUE); + } + after: "update_indicator"; + } + program { + signal: "efl,action,indicator,bg_transparent"; source: "efl"; + script { + set_int(indicator_type, INDICATOR_TYPE_BG_TRANSPARENT); + } + after: "update_indicator"; + } + program { + signal: "efl,action,indicator,hidden"; source: "efl"; + script { + set_int(indicator_type, INDICATOR_TYPE_HIDDEN); + } + after: "update_indicator"; + } + program { + signal: "efl,action,indicator,show_effect"; source: "efl"; + action: STATE_SET "visible"; + transition: DECELERATE 0.2; + target: "efl.indicator"; + } + program { + signal: "efl,action,indicator,hide_effect"; source: "efl"; + action: STATE_SET "hidden"; + transition: DECELERATE 0.2; + target: "efl.indicator"; + } + program { name: "update_indicator"; + script { + if (get_int(indicator_enabled)) { + if ((get_int(indicator_type) == INDICATOR_TYPE_BG_OPAQUE) || + (get_int(indicator_type) == INDICATOR_TYPE_UNKNOWN)) { + set_state(PART:"efl.indicator", "visible", 0.0); + set_state(PART:"indicator_spacer", "default", 0.0); + set_state(PART:"indicator_bg", "default", 0.0); + } else if (get_int(indicator_type) == INDICATOR_TYPE_BG_TRANSPARENT) { + set_state(PART:"efl.indicator", "visible", 0.0); + set_state(PART:"indicator_spacer", "default", 0.0); + set_state(PART:"indicator_bg", "bg_transparent", 0.0); + } else if (get_int(indicator_type) == INDICATOR_TYPE_HIDDEN) { + set_state(PART:"efl.indicator", "hidden", 0.0); + set_state(PART:"indicator_spacer", "hidden", 0.0); + set_state(PART:"indicator_bg", "default", 0.0); + } + } else { + set_state(PART:"efl.indicator", "default", 0.0); + set_state(PART:"indicator_spacer", "default", 0.0); + } + } + } + + /* application desktop menu */ + program { name: "show_menu"; + signal: "efl,action,show_menu"; source: "efl"; + action: STATE_SET "visible"; + target: "efl.menu"; + } + program { name: "hide_menu"; + signal: "efl,action,hide"; source: "efl"; + action: STATE_SET "default"; + target: "efl.menu"; + } + + /* modal windows */ + program { name: "hide_blocker"; + signal: "efl,action,hide_blocker"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "rect.blocker"; + transition: DECELERATE 0.2; + } + program { name: "show_blocker"; + signal: "efl,action,show_blocker"; source: "efl"; + action: STATE_SET "visible" 0.0; + target: "rect.blocker"; + transition: DECELERATE 0.2; + } + + /* minimize, maximize & close buttons */ + program { + signal: "mouse,down,*"; source: "event.close"; + action: STATE_SET "selected"; + target: "close1"; + target: "close2"; + } + program { + signal: "mouse,up,*"; source: "event.close"; + action: STATE_SET "default"; + target: "close1"; + target: "close2"; + } + program { + signal: "mouse,down,*"; source: "event.maximize"; + action: STATE_SET "selected"; + target: "max1"; + target: "max2"; + } + program { + signal: "mouse,up,*"; source: "event.maximize"; + action: STATE_SET "default"; + target: "max1"; + target: "max2"; + } + program { + signal: "mouse,down,*"; source: "event.minimize"; + action: STATE_SET "selected"; + target: "min1"; + target: "min2"; + } + program { + signal: "mouse,up,*"; source: "event.minimize"; + action: STATE_SET "default"; + target: "min1"; + target: "min2"; + } + program { + signal: "mouse,down,1"; source: "event.titlebar"; + action: SIGNAL_EMIT "efl,action,move,start" "efl"; + } + program { + signal: "mouse,up,1"; source: "event.titlebar"; + action: SIGNAL_EMIT "efl,action,move,stop" "efl"; + } + program { + signal: "mouse,clicked,1"; source: "event.minimize"; + action: SIGNAL_EMIT "efl,action,minimize" "efl"; + } + program { + signal: "mouse,clicked,1"; source: "event.maximize"; + action: SIGNAL_EMIT "efl,action,maximize" "efl"; + } + program { + signal: "mouse,clicked,1"; source: "event.close"; + action: SIGNAL_EMIT "efl,action,close" "efl"; + } + program { + signal: "mouse,in"; source: "efl.event.resize.t"; + action: SIGNAL_EMIT "efl,action,resize,show" "efl.event.resize.t"; + } + program { + signal: "mouse,out"; source: "efl.event.resize.t"; + action: SIGNAL_EMIT "efl,action,resize,hide" "efl.event.resize.t"; + } + program { + signal: "mouse,down,1"; source: "efl.event.resize.t"; + action: SIGNAL_EMIT "efl,action,resize,start" "efl.event.resize.t"; + } + program { + signal: "mouse,in"; source: "efl.event.resize.b"; + action: SIGNAL_EMIT "efl,action,resize,show" "efl.event.resize.b"; + } + program { + signal: "mouse,out"; source: "efl.event.resize.b"; + action: SIGNAL_EMIT "efl,action,resize,hide" "efl.event.resize.b"; + } + program { + signal: "mouse,down,1"; source: "efl.event.resize.b"; + action: SIGNAL_EMIT "efl,action,resize,start" "efl.event.resize.b"; + } + program { + signal: "mouse,in"; source: "efl.event.resize.tl"; + action: SIGNAL_EMIT "efl,action,resize,show" "efl.event.resize.tl"; + } + program { + signal: "mouse,out"; source: "efl.event.resize.tl"; + action: SIGNAL_EMIT "efl,action,resize,hide" "efl.event.resize.tl"; + } + program { + signal: "mouse,down,1"; source: "efl.event.resize.tl"; + action: SIGNAL_EMIT "efl,action,resize,start" "efl.event.resize.tl"; + } + program { + signal: "mouse,in"; source: "efl.event.resize.tr"; + action: SIGNAL_EMIT "efl,action,resize,show" "efl.event.resize.tr"; + } + program { + signal: "mouse,out"; source: "efl.event.resize.tr"; + action: SIGNAL_EMIT "efl,action,resize,hide" "efl.event.resize.tr"; + } + program { + signal: "mouse,down,1"; source: "efl.event.resize.tr"; + action: SIGNAL_EMIT "efl,action,resize,start" "efl.event.resize.tr"; + } + program { + signal: "mouse,in"; source: "efl.event.resize.bl"; + action: SIGNAL_EMIT "efl,action,resize,show" "efl.event.resize.bl"; + } + program { + signal: "mouse,out"; source: "efl.event.resize.bl"; + action: SIGNAL_EMIT "efl,action,resize,hide" "efl.event.resize.bl"; + } + program { + signal: "mouse,down,1"; source: "efl.event.resize.bl"; + action: SIGNAL_EMIT "efl,action,resize,start" "efl.event.resize.bl"; + } + program { + signal: "mouse,in"; source: "efl.event.resize.br"; + action: SIGNAL_EMIT "efl,action,resize,show" "efl.event.resize.br"; + } + program { + signal: "mouse,out"; source: "efl.event.resize.br"; + action: SIGNAL_EMIT "efl,action,resize,hide" "efl.event.resize.br"; + } + program { + signal: "mouse,down,1"; source: "efl.event.resize.br"; + action: SIGNAL_EMIT "efl,action,resize,start" "efl.event.resize.br"; + } + program { + signal: "mouse,clicked,1"; source: "event.icon"; + action: SIGNAL_EMIT "efl,action,menu" "efl"; + } + } } group { "efl/border/dialog"; - inherit: "elm/border/dialog/default"; + inherit: "efl/border"; + parts { + text { "efl.text.title"; + clip: "top_clip"; + desc { "default"; + rel2.to_x: "event.close"; + } + desc { "focused"; + inherit: "default"; + visible: 0; + } + } + text { "title2"; + desc { "default"; + rel2.to_x: "event.close"; + } + desc { "focused"; + inherit: "default"; + visible: 1; + } + } + image { "max1"; + desc { "default"; + visible: 0; + } + desc { "selected"; + visible: 0; + } + } + image { "min1"; + desc { "default"; + visible: 0; + } + desc { "selected"; + visible: 0; + } + } + image { "max2"; + desc { "default"; + visible: 0; + } + desc { "selected"; + visible: 0; + } + } + image { "min2"; + desc { "default"; + visible: 0; + } + desc { "selected"; + visible: 0; + } + } + rect { "event.maximize"; + desc { "default"; + visible: 0; + } + } + rect { "event.minimize"; + desc { "default"; + visible: 0; + } + } + } } group { "efl/border/naviframe"; - inherit: "elm/border/naviframe/default"; + inherit: "efl/border"; + images.image: "sym_left_dark_normal.png" COMP; + images.image: "sym_left_glow_normal.png" COMP; + images.image: "sym_left_light_normal.png" COMP; + parts { + image { "close1"; + desc { "default"; + image.normal: "sym_left_dark_normal.png"; + } + desc { "selected"; + image.normal: "sym_left_glow_normal.png"; + } + } + image { "close2"; nomouse; + clip: "clip2"; + desc { "default"; + image.normal: "sym_left_light_normal.png"; + } + desc { "selected"; + image.normal: "sym_left_glow_normal.png"; + } + } + } } +#undef UNRESIZABLE +#undef BORDERLESS +#undef MAXIMIZED +#undef SET_MODE +#undef UNSET_MODE diff --git a/data/elementary/themes/edc/efl/button.edc b/data/elementary/themes/edc/efl/button.edc index 1fe935b37e..55867d7ceb 100644 --- a/data/elementary/themes/edc/efl/button.edc +++ b/data/elementary/themes/edc/efl/button.edc @@ -1,8 +1,783 @@ -group { "efl/button"; - inherit: "elm/button/base/default"; +group { name: "efl/button"; + images.image: "button_normal.png" COMP; + images.image: "button_clicked.png" COMP; + +#undef ICON +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 +#define PRESSED 8 +#define BACKGROUND 16 + script { + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + new p = m & PRESSED; + new bg = m & BACKGROUND; + if (bg) { + set_state(PART:"base", "hidden", 0.0); + set_state(PART:"efl.background", "visible", 0.0); + } else { + set_state(PART:"efl.background", "default", 0.0); + if (!d) { + if (!p) + { + set_state(PART:"base", "default", 0.0); + set_state(PART:"base", "default", 0.0); + } + else { + set_state(PART:"base", "pressed", 0.0); + } + } else { + set_state(PART:"base", "disabled", 0.0); + } + } + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"event", "default", 0.0); + if (!p) { + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + } else { + set_state(PART:"efl.text", "pressed_visible", 0.0); + set_state(PART:"icon_clip", "pressed", 0.0); + } + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"efl.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"event", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + if (!p) + set_state(PART:"icon_clip", "default", 0.0); + else + set_state(PART:"icon_clip", "pressed", 0.0); + } else { + set_state(PART:"efl.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + if (!p) + set_state(PART:"efl.text", "textonly", 0.0); + else + set_state(PART:"efl.text", "pressed_textonly", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "disabled_textonly", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } + } + } + parts { + image { "base"; + desc { "default"; + image.normal: "button_normal.png"; + image.border: 4 4 3 5; + image.middle: SOLID; + rel1.offset: -1 0; + rel2.offset: 0 1; + fill.smooth: 0; + color_class: "button_bg"; + } + desc { "pressed"; + inherit: "default"; + image.normal: "button_clicked.png"; + image.border: 5 5 4 6; + color_class: "button_bg_pressed"; + } + desc { "disabled"; + inherit: "default"; + color_class: "button_bg_disabled"; + } + desc { "hidden"; + inherit: "default"; + visible: 0; + } + } + swallow { "efl.background"; nomouse; + required; + desc { "default"; + rel1.to: "base"; + rel2.to: "base"; + visible: 0; + } + desc { "visible"; + inherit: "default"; + visible: 1; + } + } + rect { "icon_clip"; + desc { "default"; + color_class: "button_icon"; + } + desc { "pressed"; + inherit: "default"; + color_class: "button_icon_pressed"; + } + desc { "disabled"; + inherit: "default"; + color_class: "button_icon_disabled"; + } + } + swallow { "efl.content"; nomouse; + clip_to: "icon_clip"; + required; + desc { "default"; + fixed: 1 0; + align: 0.0 0.5; + rel1.offset: 6 5; + rel1.to: "base"; + rel2.relative: 0.0 1.0; + rel2.offset: 6 -8; + rel2.to: "base"; + visible: 0; + } + desc { "visible"; + inherit: "default"; + fixed: 1 0; + aspect: 1.0 1.0; + visible: 1; + } + desc { "icononly"; + inherit: "default"; + fixed: 0 0; + align: 0.5 0.5; + rel2.relative: 1.0 1.0; + rel2.offset: -7 -8; + visible: 1; + } + } + text { "sizer_content"; nomouse; + scale: 1; + desc { "default"; +// fixed: 1 1; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "button_text"; + } + } + desc { "visible"; + inherit: "default"; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + desc { "icononly"; + inherit: "default"; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + text { "efl.text"; nomouse; + effect: SHADOW BOTTOM; + scale; + required; + desc { "default"; + rel1.offset: 0 5; + rel1.relative: 1.0 0.0; + rel1.to_x: "efl.content"; + rel1.to_y: "base"; + rel2.offset: -8 -8; + rel2.to: "base"; + color_class: "button_text"; + color3: 255 255 255 255; + text { font: FN; size: 10; + align: 0.5 0.5; + min: 0 0; + text_class: "button"; + } + visible: 0; + fixed: 1 1; + } + desc { "visible"; + inherit: "default"; + rel1.offset: 2 5; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + fixed: 0 0; + } + desc { "pressed_visible"; + inherit: "default"; + rel1.offset: 2 5; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + fixed: 0 0; + color_class: "button_text_pressed"; + } + desc { "textonly"; + inherit: "default"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + fixed: 0 0; + } + desc { "pressed_textonly"; + inherit: "default"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + fixed: 0 0; + color_class: "button_text_pressed"; + } + desc { "disabled_visible"; + inherit: "default"; + rel1.offset: 2 5; + color_class: "button_text_disabled"; + color3: 255 255 255 255; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + fixed: 0 0; + } + desc { "disabled_textonly"; + inherit: "default"; + color_class: "button_text_disabled"; + color3: 255 255 255 255; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + fixed: 0 0; + } + } + rect { "event"; + desc { "default"; + color: 0 0 0 0; + } + desc { "disabled"; + inherit: "default"; + visible: 0; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,press" "efl"; + after: "button_click_anim"; + } + program { name: "button_click_anim"; + script { + new m = get_int(btmode); + m |= PRESSED; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_unclick"; + signal: "mouse,up,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,unpress" "efl"; + after: "button_unclick_anim"; + } + program { name: "button_unclick_anim"; + script { + new m = get_int(btmode); + m &= ~PRESSED; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "buttonactivate"; + signal: "efl,anim,activate"; source: "efl"; + action: STATE_SET "pressed" 0.0; + target: "base"; + after: "button_unpressed_anim"; + } + program { name: "button_unpressed_anim"; + action: STATE_SET "default" 0.0; + in: 0.5 0.0; + target: "base"; + } + program { + signal: "mouse,clicked,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { name: "button_text_visible"; + signal: "efl,state,text,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_text_hidden"; + signal: "efl,state,text,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_icon_visible"; + signal: "efl,state,content,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_icon_hidden"; + signal: "efl,state,content,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_background_visible"; + signal: "efl,state,background,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= BACKGROUND; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_background_hidden"; + signal: "efl,state,background,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~BACKGROUND; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_state_disabled"; + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_state_enabled"; + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE +#undef PRESSED +#undef BACKGROUND } -group { "efl/button:anchor"; - inherit: "elm/button/base/anchor"; +group { name: "efl/button:anchor"; + images.image: "horizontal_separated_bar_small_glow.png" COMP; +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 + script { + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"bar", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"bar", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"efl.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"bar", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"bar", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "textonly", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"bar", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "disabled_textonly", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"bar", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"bar", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"bar", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } + } + } + parts { + rect { "base"; + desc { "default"; + color: 0 0 0 0; + } + } + rect { "icon_clip"; + desc { "default"; + } + desc { "disabled"; + inherit: "default"; + color: 255 255 255 64; + } + } + swallow { "efl.background"; nomouse; + desc { "default"; + rel1.to: "base"; + rel2.to: "base"; + visible: 0; + } + desc { "visible"; + inherit: "default"; + visible: 1; + } + } + swallow { "efl.content"; nomouse; + clip_to: "icon_clip"; + desc { "default"; + fixed: 1 0; + align: 0.0 0.5; + rel1.offset: 0 4; + rel1.to: "base"; + rel2.relative: 0.0 1.0; + rel2.offset: 0 -5; + rel2.to: "base"; + visible: 0; + } + desc { "visible"; + inherit: "default"; + fixed: 1 0; + aspect: 1.0 1.0; + visible: 1; + } + desc { "icononly"; + inherit: "default"; + fixed: 0 0; + align: 0.5 0.5; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -5; + visible: 1; + } + } + text { "sizer_content"; nomouse; + scale: 1; + desc { "default"; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "button_text"; + } + } + desc { "visible"; + inherit: "default"; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + desc { "icononly"; + inherit: "default"; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + text { "efl.text"; nomouse; + effect: GLOW; + scale: 1; + desc { "default"; + rel1.offset: -2 0; + rel1.relative: 1.0 0.0; + rel1.to_x: "efl.content"; + rel1.to_y: "base"; + rel2.offset: -1 -1; + rel2.to: "base"; + color_class: "button_text_anchor"; + color2: 255 255 255 255; + color3: 255 255 255 255; + text { font: FN; size: 10; + align: 0.5 0.5; + min: 0 0; + text_class: "button_anchor"; + } + visible: 0; + } + desc { "visible"; + inherit: "default"; + rel1.offset: 0 0; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + desc { "textonly"; + inherit: "default"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + desc { "disabled_visible"; + inherit: "default"; + rel1.offset: 0 0; + color_class: "button_text_anchor_disabled"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + desc { "disabled_textonly"; + inherit: "default"; + color_class: "button_text_anchor_disabled"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + } + text { "text2"; nomouse; + effect: GLOW; + scale: 1; + desc { "default"; + fixed: 1 1; + rel1.to: "efl.text"; + rel2.to: "efl.text"; + color_class: "button_text_anchor"; + color2: 255 255 255 255; + color3: 255 255 255 255; + text { font: FN; size: 10; + text_source: "efl.text"; + min: 1 1; + ellipsis: -1; + text_class: "button_anchor"; + } + visible: 0; + } + desc { "clicked"; + inherit: "default"; + visible: 1; + } + } + image { "bar"; nomouse; + desc { "default"; + image.normal: "horizontal_separated_bar_small_glow.png"; + image.border: 4 4 4 4; + fill.smooth: 0; + fixed: 0 1; + rel1.relative: 0.0 1.0; + rel1.offset: -3 -6; + rel2.offset: 2 3; + } + desc { "disabled"; + inherit: "default"; + color: 255 255 255 64; + } + } + image { "bar2"; nomouse; + desc { "default"; + image.normal: "horizontal_separated_bar_small_glow.png"; + image.border: 4 4 4 4; + fill.smooth: 0; + rel1.to: "bar"; + rel2.to: "bar"; + color: 255 255 255 0; + visible: 0; + } + desc { "clicked"; + inherit: "default"; + color: 255 255 255 255; + visible: 1; + } + } + rect { "event"; + desc { "default"; + color: 0 0 0 0; + } + desc { "disabled"; + inherit: "default"; + visible: 0; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,press" "efl"; + after: "button_click_anim"; + } + program { name: "button_click_anim"; + action: STATE_SET "clicked" 0.0; + target: "bar2"; + target: "text2"; + } + program { + signal: "mouse,up,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,unpress" "efl"; + after: "button_unclick_anim"; + } + program { name: "button_unclick_anim"; + action: STATE_SET "default" 0.0; + target: "bar2"; + target: "text2"; + } + program { + signal: "efl,anim,activate"; source: "efl"; + action: STATE_SET "clicked" 0.0; + target: "bar2"; + target: "text2"; + after: "button_unpressed_anim"; + } + program { name: "button_unpressed_anim"; + action: STATE_SET "default" 0.0; + in: 0.5 0.0; + target: "bar2"; + target: "text2"; + } + program { + signal: "mouse,clicked,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { name: "button_text_visible"; + signal: "efl,state,text,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_text_hidden"; + signal: "efl,state,text,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_icon_visible"; + signal: "efl,state,content,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_icon_hidden"; + signal: "efl,state,content,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_background_visible"; + signal: "efl,state,background,set"; source: "efl"; + action: STATE_SET "visible" 0.0; + target: "efl.background"; + } + program { name: "button_background_hidden"; + signal: "efl,state,background,unset"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "efl.background"; + } + program { name: "button_state_disabled"; + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_state_enabled"; + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE } - diff --git a/data/elementary/themes/edc/efl/calendar.edc b/data/elementary/themes/edc/efl/calendar.edc index 86aee2ce42..5408d44951 100644 --- a/data/elementary/themes/edc/efl/calendar.edc +++ b/data/elementary/themes/edc/efl/calendar.edc @@ -41,7 +41,7 @@ color: 0 0 0 0;\ }\ }\ - part { name: "elm,calendar,button"#_sufix",left";\ + part { name: "efl.calendar.button"#_sufix".left";\ type: SWALLOW;\ scale: 1;\ description { state: "default" 0.0;\ @@ -55,7 +55,7 @@ rel2.to: "right_bt"#_sufix;\ }\ }\ - part { name: "elm,calendar,button"#_sufix",right";\ + part { name: "efl.calendar.button"#_sufix".right";\ type: SWALLOW;\ scale: 1;\ description { state: "default" 0.0;\ @@ -89,7 +89,7 @@ } #define CH(_pos) \ - part { name: "ch_"#_pos".base"; type: SPACER; \ + part { name: "ch_"#_pos"_base"; type: SPACER; \ description { state: "default" 0.0; \ rel1 { \ relative: (_pos % 7 / 7) 0.0; \ @@ -101,13 +101,13 @@ } \ } \ } \ - part { name: "ch_"#_pos".text"; type: TEXT; mouse_events: 0; \ + part { name: "efl.ch_"#_pos".text"; type: TEXT; mouse_events: 0; \ effect: SHADOW BOTTOM; \ scale: 1; \ - clip_to: "ch_"#_pos".clipper"; \ + clip_to: "ch_"#_pos"_clipper"; \ description { state: "default" 0.0; \ - rel1.to: "ch_"#_pos".base"; \ - rel2.to: "ch_"#_pos".base"; \ + rel1.to: "ch_"#_pos"_base"; \ + rel2.to: "ch_"#_pos"_base"; \ text { font: FN; size: 8; \ min: 1 1; \ ellipsis: -1; \ @@ -116,15 +116,15 @@ color_class: "calendar_weekday_text"; \ } \ } \ - part { name: "ch_"#_pos".clipper"; type: RECT; \ + part { name: "ch_"#_pos"_clipper"; type: RECT; \ description { state: "default" 0.0; \ - rel1.to: "ch_"#_pos".base"; \ - rel2.to: "ch_"#_pos".base"; \ + rel1.to: "ch_"#_pos"_base"; \ + rel2.to: "ch_"#_pos"_base"; \ } \ } #define CIT(_pos) \ - part { name: "cit_"#_pos".rect"; type: SPACER; \ + part { name: "cit_"#_pos"_rect"; type: SPACER; \ description { state: "default" 0.0; \ rel1 { \ relative: (_pos % 7 / 7) \ @@ -138,18 +138,18 @@ } \ } \ } \ - part { name: "cit_"#_pos".event"; type: RECT; repeat_events: 1; \ + part { name: "cit_"#_pos"_event"; type: RECT; repeat_events: 1; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ color: 0 0 0 0; \ } \ } \ - part { name: "cit_"#_pos".pat"; mouse_events: 0; \ + part { name: "cit_"#_pos"_pat"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".selected"; \ + rel1.to: "cit_"#_pos"_selected"; \ rel1.offset: 1 1; \ - rel2.to: "cit_"#_pos".selected"; \ + rel2.to: "cit_"#_pos"_selected"; \ rel2.offset: -2 -2; \ image.normal: "diagonal_stripes.png"; \ color: 255 255 255 25; \ @@ -162,10 +162,10 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".selected"; mouse_events: 0; \ + part { name: "cit_"#_pos"_selected"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ image.normal: "outline_glow.png"; \ image.border: 4 4 4 4; \ color_class: "calendar_day_selected"; \ @@ -176,10 +176,10 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".selected2"; mouse_events: 0; \ + part { name: "cit_"#_pos"_selected2"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ image.normal: "outline_glow.png"; \ image.border: 4 4 4 4; \ color: 255 255 255 128; \ @@ -191,10 +191,10 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".glow"; mouse_events: 0; \ + part { name: "cit_"#_pos"_glow"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ image.normal: "box_glow.png"; \ image.border: 12 12 12 12; \ image.middle: 0; \ @@ -206,11 +206,11 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \ + part { name: "efl.cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ text.style: "efl_ui_calendar_date_style"; \ text.min: 1 1; \ text.ellipsis: -1; \ @@ -224,16 +224,16 @@ text.style: "efl_ui_calendar_date_disabled_style"; \ } \ } \ - part { name: "cit_"#_pos".check"; mouse_events: 0; \ + part { name: "cit_"#_pos"_check"; mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ fixed: 1 1; \ rel1 { \ - to: "cit_"#_pos".rect"; \ + to: "cit_"#_pos"_rect"; \ relative: 0.6 0.5; \ } \ rel2 { \ - to: "cit_"#_pos".rect"; \ + to: "cit_"#_pos"_rect"; \ relative: 0.6 0.5; \ } \ min: 16 16; \ @@ -249,173 +249,173 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".access"; type: RECT; repeat_events: 1; \ + part { name: "efl.cit_"#_pos".access"; type: RECT; repeat_events: 1; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".event"; \ - rel2.to: "cit_"#_pos".event"; \ + rel1.to: "cit_"#_pos"_event"; \ + rel2.to: "cit_"#_pos"_event"; \ color: 0 0 0 0; \ } \ } \ programs { \ program { \ - name: "cit_"#_pos".go_active"; \ + name: "cit_"#_pos"_go_active"; \ signal: "cit_"#_pos",selected"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "selected" 0.0; \ - target: "cit_"#_pos".pat"; \ - target: "cit_"#_pos".selected"; \ + target: "cit_"#_pos"_pat"; \ + target: "cit_"#_pos"_selected"; \ } \ program { \ - name: "cit_"#_pos".go_passive"; \ + name: "cit_"#_pos"_go_passive"; \ signal: "cit_"#_pos",unselected"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".pat"; \ - target: "cit_"#_pos".selected"; \ + target: "cit_"#_pos"_pat"; \ + target: "cit_"#_pos"_selected"; \ } \ program { \ - name: "cit_"#_pos".focus_highlighted"; \ + name: "cit_"#_pos"_focus_highlighted"; \ signal: "cit_"#_pos",focused"; \ - source: "elm"; \ + source: "efl"; \ script { \ set_int(item_focus_enabled, 1); \ set_int(last_focused_item, _pos); \ if (get_int(win_focus_enabled) == 1) \ - set_state(PART:"cit_"#_pos".glow", "focused", 0.0); \ + set_state(PART:"cit_"#_pos"_glow", "focused", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".focus_unhighlighed"; \ + name: "cit_"#_pos"_focus_unhighlighed"; \ signal: "cit_"#_pos",unfocused"; \ - source: "elm"; \ + source: "efl"; \ script { \ set_int(item_focus_enabled, 0); \ - set_state(PART:"cit_"#_pos".glow", "default", 0.0); \ + set_state(PART:"cit_"#_pos"_glow", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".is_today"; \ + name: "cit_"#_pos"_is_today"; \ signal: "cit_"#_pos",today"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "today" 0.0; \ - target: "cit_"#_pos".text"; \ + target: "efl.cit_"#_pos".text"; \ } \ program { \ - name: "cit_"#_pos".not_today"; \ + name: "cit_"#_pos"_not_today"; \ signal: "cit_"#_pos",not_today"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".text"; \ + target: "efl.cit_"#_pos".text"; \ } \ program { \ - name: "cit_"#_pos".enable"; \ + name: "cit_"#_pos"_enable"; \ signal: "cit_"#_pos",enable"; \ - source: "elm"; \ + source: "efl"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"efl.cit_"#_pos".text", st, 30, vl); \ if (!strcmp(st, "disabled")) \ - set_state(PART:"cit_"#_pos".text", "default", 0.0); \ + set_state(PART:"efl.cit_"#_pos".text", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".disable"; \ + name: "cit_"#_pos"_disable"; \ signal: "cit_"#_pos",disable"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "disabled" 0.0; \ - target: "cit_"#_pos".text"; \ + target: "efl.cit_"#_pos".text"; \ } \ program { \ - source: "cit_"#_pos".clicked"; \ + source: "cit_"#_pos"_clicked"; \ signal: "mouse,down,1"; \ - source: "cit_"#_pos".event"; \ + source: "cit_"#_pos"_event"; \ action: STATE_SET "highlighted" 0.0; \ - target: "cit_"#_pos".selected2"; \ + target: "cit_"#_pos"_selected2"; \ } \ program { \ - source: "cit_"#_pos".clicked"; \ + source: "cit_"#_pos"_clicked"; \ signal: "mouse,up,1"; \ - source: "cit_"#_pos".event"; \ + source: "cit_"#_pos"_event"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".selected2"; \ + target: "cit_"#_pos"_selected2"; \ } \ program { \ - source: "cit_"#_pos".clicked"; \ + source: "cit_"#_pos"_clicked"; \ signal: "mouse,clicked,1"; \ - source: "cit_"#_pos".event"; \ - action: SIGNAL_EMIT "elm,action,selected" #_pos; \ + source: "cit_"#_pos"_event"; \ + action: SIGNAL_EMIT "efl,action,selected" #_pos; \ } \ program { \ - name: "cit_"#_pos".clear"; \ + name: "cit_"#_pos"_clear"; \ signal: "cit_"#_pos",clear"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".check"; \ - after: "cit_"#_pos".weekends_clear"; \ - after: "cit_"#_pos".holiday_clear"; \ + target: "cit_"#_pos"_check"; \ + after: "cit_"#_pos"_weekends_clear"; \ + after: "cit_"#_pos"_holiday_clear"; \ } \ program { \ - name: "cit_"#_pos".weekends_clear"; \ + name: "cit_"#_pos"_weekends_clear"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"efl.cit_"#_pos".text", st, 30, vl); \ if (!strcmp(st, "weekend/day1") || !strcmp(st, "weekend/day2")) \ - set_state(PART:"cit_"#_pos".text", "default", 0.0); \ + set_state(PART:"efl.cit_"#_pos".text", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".holiday_clear"; \ + name: "cit_"#_pos"_holiday_clear"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"efl.cit_"#_pos".text", st, 30, vl); \ if (!strcmp(st, "holiday")) \ - set_state(PART:"cit_"#_pos".text", "default", 0.0); \ + set_state(PART:"efl.cit_"#_pos".text", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".checked"; \ + name: "cit_"#_pos"_checked"; \ signal: "cit_"#_pos",checked"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "visible" 0.0; \ - target: "cit_"#_pos".check"; \ + target: "cit_"#_pos"_check"; \ } \ program { \ - name: "cit_"#_pos".holiday"; \ + name: "cit_"#_pos"_holiday"; \ signal: "cit_"#_pos",holiday"; \ - source: "elm"; \ + source: "efl"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"efl.cit_"#_pos".text", st, 30, vl); \ if (strcmp(st, "today")) \ - set_state(PART:"cit_"#_pos".text", "holiday", 0.0); \ + set_state(PART:"efl.cit_"#_pos".text", "holiday", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".weekend/day1"; \ + name: "cit_"#_pos"_weekend/day1"; \ signal: "cit_"#_pos",weekend/day1"; \ - source: "elm"; \ + source: "efl"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"efl.cit_"#_pos".text", st, 30, vl); \ if ((strcmp(st, "today")) && (strcmp(st, "holiday")) )\ - set_state(PART:"cit_"#_pos".text", "weekend/day1", 0.0); \ + set_state(PART:"efl.cit_"#_pos".text", "weekend/day1", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".weekend/day2"; \ + name: "cit_"#_pos"_weekend/day2"; \ signal: "cit_"#_pos",weekend/day2"; \ - source: "elm"; \ + source: "efl"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"efl.cit_"#_pos".text", st, 30, vl); \ if ((strcmp(st, "today")) && (strcmp(st, "holiday")) )\ - set_state(PART:"cit_"#_pos".text", "weekend/day2", 0.0); \ + set_state(PART:"efl.cit_"#_pos".text", "weekend/day2", 0.0); \ } \ } \ } @@ -446,7 +446,7 @@ group { "efl/calendar"; rel2.offset: -2 -2; } } - part { name: "background"; type: SWALLOW; + part { name: "efl.background"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; @@ -516,20 +516,20 @@ group { "efl/calendar"; } programs { program { - signal: "elm,action,focus_highlight,show"; - source: "elm"; + signal: "efl,action,focus_highlight,show"; + source: "efl"; script { set_int(win_focus_enabled, 1); if (get_int(item_focus_enabled) == 1) { new value[32]; snprintf(value, 32, "cit_%d,focused", get_int(last_focused_item)); - emit(value, "elm"); + emit(value, "efl"); } } } program { - signal: "elm,action,focus_highlight,hide"; - source: "elm"; + signal: "efl,action,focus_highlight,hide"; + source: "efl"; script { set_int(win_focus_enabled, 0); } @@ -541,11 +541,177 @@ group { "efl/calendar"; #undef CIT #undef CH + group { name: "efl/calendar/inc_button"; + images.image: "sym_right_light_normal.png" COMP; + images.image: "sym_right_glow_normal.png" COMP; + images.image: "sym_right_dark_normal.png" COMP; + script { + public mouse_down = 0; + public multi_down = 0; + } + parts { + part { name: "arrow.image"; + scale: 1; + description { state: "default" 0.0; + min: 15 15; + max: 15 15; + color_class: "F032L1"; + image.normal: "sym_right_light_normal.png"; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + image.normal: "sym_right_glow_normal.png"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "sym_right_dark_normal.png"; + } + } + part { name: "over"; + type: RECT; + repeat_events: 1; + 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; + } + } + } + programs { + program { name: "button_press"; + signal: "mouse,down,1"; + source: "over"; + script { + if ((get_int(multi_down) == 0) && + (get_int(mouse_down) == 0)) { + set_int(mouse_down, 1); + run_program(PROGRAM:"button_press2"); + } + } + } + program { name: "button_press2"; + action: SIGNAL_EMIT "efl,action,press" ""; + after: "button_press_anim"; + } + program { name: "button_press_anim"; + action: STATE_SET "pressed" 0.0; + target: "arrow.image"; + } + program { name: "button_unpress"; + signal: "mouse,up,1"; + source: "over"; + script { + if (get_int(mouse_down) == 1) { + set_int(mouse_down, 0); + run_program(PROGRAM:"button_unpress2"); + run_program(PROGRAM:"button_unpress_anim"); + } + } + } + program { name: "button_unpress2"; + action: SIGNAL_EMIT "efl,action,unpress" ""; + } + program { name: "button_unpress_anim"; + action: STATE_SET "default" 0.0; + target: "arrow.image"; + } + program { name: "button_click"; + signal: "mouse,clicked,1"; + source: "over"; + script { + if (get_int(multi_down) == 0) { + run_program(PROGRAM:"button_click2"); + } + } + } + program { name: "action_unpressed"; + signal: "efl,action,unpressed"; + source: "efl"; + after: "button_unpress_anim"; + } + program { name: "action_pressed"; + signal: "efl,action,pressed"; + source: "efl"; + after: "button_press_anim"; + } + program { name: "button_click2"; + action: SIGNAL_EMIT "efl,action,click" ""; + } + program { name: "access_pressed"; + signal: "efl,action,anim,activate"; + source: "efl"; + action: STATE_SET "pressed" 0.0; + target: "arrow.image"; + after: "access_pressed_anim"; + } + program { name: "access_pressed_anim"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.1; + target: "arrow.image"; + } + program { name: "disable"; + signal: "efl,state,disabled"; + source: "efl"; + action: STATE_SET "disabled" 0.0; + target: "arrow.image"; + target: "disabler"; + } + program { name: "enable"; + signal: "efl,state,enabled"; + source: "efl"; + action: STATE_SET "default" 0.0; + target: "arrow.image"; + target: "disabler"; + } + program { + name: "multi_down"; + signal: "efl,action,multi,down"; + source: "efl"; + script { + set_int(multi_down, 1); + } + } + program { + name: "multi_up"; + signal: "efl,action,multi,up"; + source: "efl"; + script { + set_int(multi_down, 0); + } + } + } + } -group { "efl/calendar/inc_button"; - inherit: "elm/button/base/calendar/increase/default"; -} - -group { "efl/calendar/dec_button"; - inherit: "elm/button/base/calendar/decrease/default"; -} + group { name: "efl/calendar/dec_button"; + inherit: "efl/calendar/inc_button"; + images.image: "sym_left_light_normal.png" COMP; + images.image: "sym_left_glow_normal.png" COMP; + images.image: "sym_left_dark_normal.png" COMP; + parts { + part { name: "arrow.image"; + scale: 1; + description { state: "default" 0.0; + min: 15 15; + max: 15 15; + image.normal: "sym_left_light_normal.png"; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + image.normal: "sym_left_glow_normal.png"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "sym_left_dark_normal.png"; + } + } + } + } diff --git a/data/elementary/themes/edc/efl/check.edc b/data/elementary/themes/edc/efl/check.edc index 76db7a8d28..96e1a923f2 100644 --- a/data/elementary/themes/edc/efl/check.edc +++ b/data/elementary/themes/edc/efl/check.edc @@ -1,7 +1,937 @@ group { "efl/check"; - inherit: "elm/check/base/default"; + images.image: "inset_shadow_tiny.png" COMP; + images.image: "bevel_in.png" COMP; + images.image: "sym_check_alum.png" COMP; +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 + script { + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"base", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"base", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "disabled", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"base", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"base", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } + } + } + parts { + part { name: "base"; type: RECT; + description { state: "default" 0.0; + rel1.offset: 1 1; + rel1.to: "inset"; + rel2.offset: -2 -2; + rel2.to: "inset"; + color: 24 24 24 255; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 64 64 64 255; + } + } + part { name: "shadow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "inset_shadow_tiny.png"; + image.border: 4 4 4 4; + rel1.to: "base"; + rel2.to: "base"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "inset"; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + rel1.offset: 2 2; + rel2.relative: 0.0 1.0; + rel2.offset: 2 -3; + align: 0.0 0.5; + min: 13 13; + max: 13 13; + image.normal: "bevel_in.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + } + } + part { name: "indicator"; mouse_events: 0; + scale: 1; + clip_to: "clip"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "sym_check_alum.png"; + min: 11 11; + max: 11 11; + visible: 0; + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "efl.content"; type: SWALLOW; + scale: 1; + clip_to: "clip"; + required; + description { state: "default" 0.0; + fixed: 1 0; + visible: 0; + align: 0.0 0.5; + max: 0 0; + rel1.to_x: "inset"; + rel1.relative: 1.0 0.0; + rel1.offset: 1 1; + rel2.to_x: "inset"; + rel2.offset: 1 -2; + rel2.relative: 1.0 1.0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; + min: 16 16; + } + } + part { name: "sizer_content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "check_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + description { state: "icononly" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + part { name: "efl.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + required; + description { state: "default" 0.0; + rel1.offset: 2 2; + rel1.to_x: "efl.content"; + rel1.relative: 1.0 0.0; + rel2.offset: -3 -3; + color: FN_COL_DEFAULT; + color_class: "check_text"; + text { font: FN; size: 10; + min: 0 0; + align: 0.0 0.5; + text_class: "check"; + } + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color_class: "check_text_disabled"; + color3: 255 255 255 255; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + text.min: 1 1; + text.ellipsis: -1; + } + description { state: "disabled_visible" 0.0; + inherit: "default" 0.0; + color_class: "check_text_disabled"; + color3: 255 255 255 255; + visible: 1; + text.min: 1 1; + text.ellipsis: -1; + } + } + part { name: "event"; type: RECT; + 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; + } + } + } + programs { + program { + signal: "mouse,clicked,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,check,toggle" "efl"; + } + program { + signal: "efl,state,check,on"; source: "efl"; + action: STATE_SET "selected" 0.0; + target: "indicator"; + } + program { + signal: "efl,state,check,off"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "indicator"; + } + program { + signal: "efl,state,text,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,text,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,content,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,content,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE } group { "efl/check:toggle"; - inherit: "elm/check/base/toggle"; + images.image: "inset_shadow_tiny.png" COMP; + images.image: "bevel_in.png" COMP; + images.image: "bevel_out.png" COMP; + images.image: "vgrad_med_lighter.png" COMP; + images.image: "shadow_square_tiny.png" COMP; + images.image: "glow_small.png" COMP; + +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 + script { + public is_rtl; + public is_drag; + public was_drag; + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + set_state(PART:"event2", "default", 0.0); + set_state(PART:"efl.ontext", "default", 0.0); + set_state(PART:"efl.offtext", "default", 0.0); + set_state(PART:"onrect", "default", 0.0); + set_state(PART:"offrect", "default", 0.0); + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + set_state(PART:"event2", "disabled", 0.0); + set_state(PART:"efl.ontext", "disabled", 0.0); + set_state(PART:"efl.offtext", "disabled", 0.0); + set_state(PART:"onrect", "disabled", 0.0); + set_state(PART:"offrect", "disabled", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + set_state(PART:"event2", "default", 0.0); + set_state(PART:"efl.ontext", "default", 0.0); + set_state(PART:"efl.offtext", "default", 0.0); + set_state(PART:"onrect", "default", 0.0); + set_state(PART:"offrect", "default", 0.0); + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "disabled", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + set_state(PART:"event2", "disabled", 0.0); + set_state(PART:"efl.ontext", "disabled", 0.0); + set_state(PART:"efl.offtext", "disabled", 0.0); + set_state(PART:"onrect", "disabled", 0.0); + set_state(PART:"offrect", "disabled", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + set_state(PART:"event2", "default", 0.0); + set_state(PART:"efl.ontext", "default", 0.0); + set_state(PART:"efl.offtext", "default", 0.0); + set_state(PART:"onrect", "default", 0.0); + set_state(PART:"offrect", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + set_state(PART:"event2", "disabled", 0.0); + set_state(PART:"efl.ontext", "disabled", 0.0); + set_state(PART:"efl.offtext", "disabled", 0.0); + set_state(PART:"onrect", "disabled", 0.0); + set_state(PART:"offrect", "disabled", 0.0); + } + } else { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"shadow", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + set_state(PART:"event2", "default", 0.0); + set_state(PART:"efl.ontext", "default", 0.0); + set_state(PART:"efl.offtext", "default", 0.0); + set_state(PART:"onrect", "default", 0.0); + set_state(PART:"offrect", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"shadow", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + set_state(PART:"event2", "disabled", 0.0); + set_state(PART:"efl.ontext", "disabled", 0.0); + set_state(PART:"efl.offtext", "disabled", 0.0); + set_state(PART:"onrect", "disabled", 0.0); + set_state(PART:"offrect", "disabled", 0.0); + } + } + } + } + parts { + part { name: "tog"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + rel1.relative: 1.0 0.0; + rel1.offset: 2 2; + rel2.offset: -3 -3; + align: 1.0 0.5; + min: 88 15; + max: 88 15; + } + } + part { name: "onrect"; type: RECT; mouse_events: 0; + scale: 1; + clip_to: "tog_clip"; + description { state: "default" 0.0; + rel1.to: "button"; + rel1.relative: -5.0 0.0; + rel2.to: "button"; + rel2.relative: 0.5 1.0; + color: 24 24 24 255; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 64 64 64 255; + } + } + part { name: "offrect"; type: RECT; mouse_events: 0; + scale: 1; + clip_to: "tog_clip"; + description { state: "default" 0.0; + rel1.to: "button"; + rel1.relative: 0.5 0.0; + rel2.to: "button"; + rel2.relative: 6.0 1.0; + color: 24 24 24 255; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 64 64 64 255; + } + } + part { name: "efl.offtext"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + clip_to: "tog_clip"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "button"; + rel1.relative: 1.0 0.0; + rel2.to: "offrect"; + color: FN_COL_DEFAULT; + color_class: "check_off_text"; + text { font: FN; size: 10; + min: 0 1; + align: 0.5 0.5; + text_class: "check_off_text"; + text: "OFF"; + } + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color_class: "check_off_text_disabled"; + color3: 255 255 255 255; + } + } + part { name: "efl.ontext"; type: TEXT; mouse_events: 0; + effect: GLOW; + scale: 1; + clip_to: "tog_clip"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "onrect"; + rel1.offset: 2 -1; + rel2.to: "button"; + rel2.relative: 0.0 1.0; + rel2.offset: -1 -2; + color_class: "check_on_text"; + color2: 255 255 255 255; + color3: 255 255 255 255; + text { font: FN; size: 10; + min: 0 1; + align: 0.5 0.5; + text_class: "check_on_text"; + text: "ON"; + } + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color_class: "check_on_text_disabled"; + color3: 255 255 255 255; + } + } + part { name: "shadow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "inset_shadow_tiny.png"; + image.border: 4 4 4 4; + rel1.to: "tog"; + rel2.to: "tog"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "inset"; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "tog"; + rel1.offset: -1 -1; + rel2.to: "tog"; + rel2.offset: 0 0; + image.normal: "bevel_in.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + } + } + part { name: "tog_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "tog"; + rel2.to: "tog"; + } + } + part { name: "button"; type: RECT; + scale: 1; + clip_to: "tog_clip"; + dragable { + x: 1 1 0; + y: 0 0 0; + confine: "tog"; + } + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "tog"; + rel2.to: "tog"; + min: 15 15; + max: 15 99999; + color: 0 0 0 0; + } + } + part { name: "shadow_but"; mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: -3 -2; + rel1.to: "base_but"; + rel2.offset: 2 4; + rel2.to: "base_but"; + image.normal: "shadow_square_tiny.png"; + image.border: 6 6 6 6; + fill.smooth: 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + rel1.offset: -2 -2; + rel2.offset: 1 1; + color: 255 255 255 128; + } + } + part { name: "glow_but"; mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: -3 -3; + rel1.to: "base_but"; + rel2.offset: 2 2; + rel2.to: "base_but"; + image.normal: "glow_small.png"; + image.border: 7 7 7 7; + fill.smooth: 0; + visible: 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "base_but"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "button"; + rel2.to: "button"; + image.normal: "vgrad_med_lighter.png"; + fill.smooth: 0; + TILED_HORIZ(120) + } + } + part { name: "bevel_but"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base_but"; + rel2.to: "base_but"; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + } + } + part { name: "button_events"; type: RECT; + dragable.events: "button"; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "efl.content"; type: SWALLOW; + scale: 1; + clip_to: "clip"; + description { state: "default" 0.0; + fixed: 1 0; + visible: 0; + align: 0.0 0.5; + max: 0 0; + rel1.offset: 1 1; + rel2.offset: 1 -2; + rel2.relative: 0.0 1.0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + fixed: 0 0; + visible: 1; + min: 16 16; + } + } + part { name: "sizer_content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "check_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + description { state: "icononly" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + part { name: "efl.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + description { state: "default" 0.0; + rel1.to_x: "efl.content"; + rel1.relative: 1.0 0.0; + rel1.offset: 2 2; + rel2.to_x: "tog"; + rel2.relative: 0.0 1.0; + rel2.offset: -5 -3; + color: FN_COL_DEFAULT; + color_class: "check_text"; + text { font: FN; size: 10; + min: 0 0; + align: 0.0 0.5; + text_class: "check"; + } + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color_class: "check_text_disabled"; + color3: 255 255 255 255; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + text.min: 1 1; + text.ellipsis: -1; + } + description { state: "disabled_visible" 0.0; + inherit: "default" 0.0; + color_class: "check_text_disabled"; + color3: 255 255 255 255; + visible: 1; + text.min: 1 1; + text.ellipsis: -1; + } + } + part { name: "event"; type: RECT; + ignore_flags: ON_HOLD; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.to_x: "efl.content"; + rel2.to_x: "efl.text"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "event2"; 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 { + signal: "mouse,clicked,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,check,toggle" "efl"; + } + program { + signal: "efl,state,check,on"; source: "efl"; + script { + new Float:drag; + if (get_int(is_rtl) == 0) { + drag = 100.0; + } else { + drag = 0.0; + } + set_drag(PART:"button", drag, 0.0); + } + } + program { + signal: "efl,state,check,off"; source: "efl"; + script { + new Float:drag; + if (get_int(is_rtl) == 0) { + drag = 0.0; + } else { + drag = 100.0; + } + set_drag(PART:"button", drag, 0.0); + } + } + program { + signal: "mouse,clicked,1"; source: "button"; + script { + new Float:dx, Float:dy; + get_drag(PART:"button", dx, dy); + if (!get_int(was_drag)) { + if (dx > 0.5) { + set_drag(PART:"button", 0.0, 0.0); + } else { + set_drag(PART:"button", 1.0, 0.0); + } + if (((get_int(is_rtl) == 1) && (dx <= 0.5)) || + (get_int(is_rtl) == 0) && (dx > 0.5)) { + emit("efl,action,check,off", "efl"); + } else { + emit("efl,action,check,on", "efl"); + } + } + } + } + program { + signal: "drag"; source: "button"; + script { + set_int(is_drag, 1); + } + } + program { + signal: "mouse,down,1"; source: "button"; + script { + set_int(was_drag, 0); + set_int(is_drag, 0); + } + } + program { name: "drag_end"; + signal: "mouse,up,1"; source: "button"; + script { + new Float:dx, Float:dy; + get_drag(PART:"button", dx, dy); + if (get_int(is_drag)) { + if (dx > 0.5) { + set_drag(PART:"button", 1.0, 0.0); + } else { + set_drag(PART:"button", 0.0, 0.0); + } + if (((get_int(is_rtl) == 1) && (dx <= 0.5)) || + (get_int(is_rtl) == 0) && (dx > 0.5)) { + emit("efl,action,check,on", "efl"); + } else { + emit("efl,action,check,off", "efl"); + } + set_int(was_drag, 1); + set_int(is_drag, 0); + } + } + } + program { + signal: "mouse,down,1"; source: "button"; + action: STATE_SET "clicked" 0.0; + target: "shadow_but"; + target: "glow_but"; + } + program { + signal: "mouse,up,1"; source: "button"; + action: STATE_SET "default" 0.0; + target: "shadow_but"; + target: "glow_but"; + } + program { + signal: "efl,state,text,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,text,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,content,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,content,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "edje,state,rtl"; source: "edje"; + script { + set_int(is_rtl, 1); + } + } + program { + signal: "edje,state,ltr"; source: "edje"; + script { + set_int(is_rtl, 0); + } + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE } diff --git a/data/elementary/themes/edc/efl/cursor.edc b/data/elementary/themes/edc/efl/cursor.edc index 1302e4c228..a62817708b 100644 --- a/data/elementary/themes/edc/efl/cursor.edc +++ b/data/elementary/themes/edc/efl/cursor.edc @@ -78,14 +78,80 @@ // "watch" // "xterm" -group { "efl/cursor/hand1"; - inherit: "elm/cursor/hand1/default"; +group { name: "efl/cursor/hand1"; + images.image: "pointer_hand1.png" COMP; + parts { + part { name: "base"; mouse_events: 0; scale: 1; + description { state: "default" 0.0; + FIXED_SIZE(32, 32) + image.normal: "pointer_hand1.png"; + } + } + part { name: "efl.hotspot"; type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + fixed: 1 1; + rel1.relative: (26/32) (9/32); + rel1.to: "base"; + rel2.to: "base"; + rel2.relative: (26/32) (9/32); + rel2.offset: 0 0; + } + } + /* efl.content.hotspot is the old name for the above part */ + alias: "efl.content.hotspot" "efl.hotspot"; + } } -group { "efl/cursor/blank"; - inherit: "elm/cursor/blank/default"; +group { name: "efl/cursor/blank"; + parts { + part { name: "efl.hotspot"; type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + max: 1 1; + } + } + /* efl.content.hotspot is the old name for the above part */ + alias: "efl.content.hotspot" "efl.hotspot"; + } } -group { "efl/cursor/xterm"; - inherit: "elm/cursor/xterm/default"; +group { name: "efl/cursor/xterm"; + images.image: "pointer_entry_bar.png" COMP; + images.image: "led_dot_white.png" COMP; + parts { + part { name: "base"; mouse_events: 0; scale: 1; + description { state: "default" 0.0; + min: 15 20; + max: 15 99999; + image.normal: "pointer_entry_bar.png"; + image.border: 0 0 10 10; + rel1.offset: 0 2; + rel2.offset: -1 -3; + } + } + part { name: "efl.hotspot"; type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + fixed: 1 1; + rel1.to: "base"; + rel2.to: "base"; + rel1.relative: 0.5 0.5; + rel2.relative: 0.5 0.5; + rel2.offset: 0 0; + } + } + /* efl.content.hotspot is the old name for the above part */ + alias: "efl.content.hotspot" "efl.hotspot"; + part { name: "shine"; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "led_dot_white.png"; + max: 27 27; + aspect: 1.0 1.0; + aspect_preference: VERTICAL; + } + } + } } diff --git a/data/elementary/themes/edc/efl/datepicker.edc b/data/elementary/themes/edc/efl/datepicker.edc new file mode 100644 index 0000000000..e15343af46 --- /dev/null +++ b/data/elementary/themes/edc/efl/datepicker.edc @@ -0,0 +1,345 @@ +group { "efl/datepicker"; + parts { + spacer { "base"; + scale; + desc { "default"; + min: 150 170; + } + } + rect { "base_bg"; + scale; + desc { "default"; + rel.to: "base"; + color_class: "datepicker_bg"; + } + } + spacer { "padding_bg_top"; + scale; + desc { "default"; + min: 0 10; + max: -1 10; + fixed: 0 1; + rel1 { + relative: 0.0 0.0; + to: "base_bg"; + } + rel2 { + relative: 1.0 0.0; + to: "base_bg"; + } + align: 0.5 0.0; + } + } + spacer { "padding_bg_bottom"; + scale; + desc { "default"; + min: 0 10; + max: -1 10; + fixed: 0 1; + rel1 { + relative: 0.0 1.0; + to: "base_bg"; + } + rel2 { + relative: 1.0 1.0; + to: "base_bg"; + } + align: 0.5 1.0; + } + } + spacer { "bg"; + scale; + desc { "default"; + min: 150 150; + max: 150 150; + rel1 { + relative: 0.0 1.0; + to: "padding_bg_top"; + } + rel2 { + relative: 1.0 0.0; + to: "padding_bg_bottom"; + } + } + } + spacer { "padding_left"; + scale; + desc { "default"; + min: 5 0; + max: 5 -1; + fixed: 1 0; + rel1 { + relative: 0.0 0.0; + to: "bg"; + } + rel2 { + relative: 0.0 1.0; + to: "bg"; + } + align: 0.0 0.0; + } + } + spacer { "padding_right"; + scale; + desc { "default"; + min: 5 0; + max: 5 -1; + fixed: 1 0; + rel2.to: "bg"; + rel1 { + relative: 1.0 0.0; + to: "bg"; + } + rel2 { + relative: 1.0 1.0; + to: "bg"; + } + align: 1.0 1.0; + } + } + swallow { "efl.field0"; + mouse; + scale; + desc { "default"; + fixed: 1 0; + min: 40 0; + rel1 { + relative: 1.0 0.0; + to: "padding_left"; + } + rel2.to: "padding_left"; + align: 0.0 0.5; + } + } + spacer { "padding_center1"; + scale; + desc { "default"; + fixed: 1 0; + min: 10 0; + max: 10 -1; + rel1 { + relative: 1.0 0.0; + to: "efl.field0"; + } + rel2.to: "efl.field0"; + align: 0.0 0.5; + } + } + swallow { "efl.field1"; + mouse; + scale; + desc { "default"; + fixed: 1 0; + min: 40 0; + rel1 { + relative: 1.0 0.0; + to: "padding_center1"; + } + rel2 { + relative: 0.0 1.0; + to_x: "padding_center2"; + to_y: "padding_center1"; + } + } + } + spacer { "padding_center2"; + scale; + desc { "default"; + fixed: 1 0; + min: 10 0; + max: 10 -1; + rel1.to: "efl.field2"; + rel2 { + relative: 0.0 1.0; + to: "efl.field2"; + } + align: 1.0 0.5; + } + } + swallow { "efl.field2"; + mouse; + scale; + desc { "default"; + fixed: 1 0; + min: 40 0; + rel1.to: "padding_right"; + rel2 { + relative: 0.0 1.0; + to: "padding_right"; + } + align: 1.0 0.5; + } + } + rect { "access"; + repeat; + desc { "default"; + fixed: 1 1; + rel1.to: "bg"; + rel2.to: "bg"; + color: 0 0 0 0; + } + } + } +} + +group { "efl/datepicker/spin_button"; + parts { + rect { "clip"; + desc { "default"; + rel.to: "efl.text_button"; + } + } + spacer { "base"; + scale; + desc { "default"; + min: 40 150; + } + } + rect { "bg"; + scale; + desc { "default"; + color_class: "spinner_bg"; + } + } + rect { "access"; + repeat; + desc { "default"; + fixed: 1 1; + color: 0 0 0 0; + rel1.to: "base"; + rel2.to: "base"; + hid; + } + desc { "active"; + inherit: "default"; + vis; + } + } + swallow { "efl.inc_button"; + scale; + desc { "default"; + align: 0.5 0.0; + min: 40 40; + max: 40 40; + fixed: 1 1; + } + } + swallow { "efl.dec_button"; + scale; + desc { "default"; + align: 0.5 1.0; + min: 40 40; + max: 40 40; + fixed: 1 1; + } + } + swallow { "efl.entry"; + clip: "clip"; + desc { "default"; + fixed: 1 1; + rel1.to: "efl.text_button"; + rel2.to: "efl.text_button"; + hid; + } + desc { "active"; + inherit: "default"; + vis; + } + } + swallow { "efl.text_button"; + scale; + desc { "default"; + rel.to_x: "base"; + rel1 { + to_y: "efl.inc_button"; + relative: 0.0 1.0; + } + rel2 { + to_y: "efl.dec_button"; + relative: 1.0 0.0; + } + min: 0 70; + max: -1 70; + fixed: 0 1; + } + desc { "inactive"; + inherit: "default"; + hid; + } + } + rect { "disabler"; + norepeat; + nomouse; + desc { "default"; + color: 0 0 0 0; + hid; + } + desc { "disabled"; + inherit: "default"; + vis; + } + } + } + programs { + program { "entry_active"; + signal: "efl,state,entry,active"; + source: "efl"; + action: STATE_SET "active"; + target: "efl.entry"; + } + program { "entry_inactive"; + signal: "efl,state,entry,inactive"; + source: "efl"; + action: STATE_SET "default"; + target: "efl.entry"; + } + program { "text_button_active"; + signal: "efl,state,button,active"; + source: "efl"; + action: STATE_SET "default"; + target: "efl.text_button"; + } + program { "text_button_inactive"; + signal: "efl,state,button,inactive"; + source: "efl"; + action: STATE_SET "inactive"; + target: "efl.text_button"; + } + program { "access_activate"; + signal: "efl,state,access,active"; + source: "efl"; + action: STATE_SET "active"; + target: "access"; + } + program { "access_inactivate"; + signal: "efl,state,access,inactive"; + source: "efl"; + action: STATE_SET "default"; + target: "access"; + } + program { "disable"; + signal: "efl,state,disabled"; + source: "efl"; + action: STATE_SET "disabled"; + target: "disabler"; + } + program { "enable"; + signal: "efl,state,enabled"; + source: "efl"; + action: STATE_SET "default"; + target: "disabler"; + } + } +} + +group { "efl/datepicker/spin_button/text_button"; + inherit: "efl/spin_button/text_button"; +} + +group { "efl/datepicker/spin_button/inc_button"; + inherit: "efl/spin_button/inc_button:vertical"; +} + +group { "efl/datepicker/spin_button/dec_button"; + inherit: "efl/spin_button/dec_button:vertical"; +} diff --git a/data/elementary/themes/edc/efl/focus.edc b/data/elementary/themes/edc/efl/focus.edc index d7c3b78f19..a5edbe49b3 100644 --- a/data/elementary/themes/edc/efl/focus.edc +++ b/data/elementary/themes/edc/efl/focus.edc @@ -1,7 +1,177 @@ -group { "efl/focus_highlight/top"; - inherit: "elm/focus_highlight/top/default"; +group { name: "efl/focus_highlight/top"; + images.image: "box_glow.png" COMP; + images.image: "box_outline.png" COMP; + data.item: "animate" "on"; + script { + public s_x, s_y, s_w, s_h; /* source */ + public difx, dify, difw, difh; + public g_anim_id; + + public animator1(val, Float:pos) { + new x, y, w, h, dx, dy, dw, dh, Float:p; + p = 1.0 - ((1.0 - pos) * (1.0 - pos) * (1.0 - pos)); + dx = round(float_mul(float(get_int(difx)), p)); + x = get_int(s_x) + dx; + dy = round(float_mul(float(get_int(dify)), p)); + y = get_int(s_y) + dy; + dw = round(float_mul(float(get_int(difw)), p)); + w = get_int(s_w) + dw; + dh = round(float_mul(float(get_int(difh)), p)); + h = get_int(s_h) + dh; + update_offset(x, y, w, h); + + if (pos >= 1.0) { + set_int(g_anim_id, 0); + } + } + + public update_offset(x, y, w, h) { + set_state_val(PART:"base", STATE_REL1_OFFSET, x, y); + set_state_val(PART:"base", STATE_REL2_OFFSET, x + w, y + h); + } + + public message(Msg_Type:type, id, ...) { + if ((type == MSG_INT_SET) && (id == 1)) { + new x1, y1, w1, h1, x2, y2, w2, h2; + new anim_id; + + anim_id = get_int(g_anim_id); + if (anim_id != 0) { + cancel_anim(anim_id); + } + + x1 = getarg(2); + y1 = getarg(3); + w1 = getarg(4); + h1 = getarg(5); + x2 = getarg(6); + y2 = getarg(7); + w2 = getarg(8); + h2 = getarg(9); + + set_int(s_x, x1); + set_int(s_y, y1); + set_int(s_w, w1); + set_int(s_h, h1); + set_int(difx, x2 - x1); + set_int(dify, y2 - y1); + set_int(difw, w2 - w1); + set_int(difh, h2 - h1); + + custom_state(PART:"base", "default", 0.0); + set_state_val(PART:"base", STATE_REL1, 0.0, 0.0); + set_state_val(PART:"base", STATE_REL2, 0.0, 0.0); + update_offset(x1, y1, w1, h1); + set_state(PART:"base", "custom", 0.0); + + anim_id = anim(0.2, "animator1", 1); + set_int(g_anim_id, anim_id); + } + } + } + parts { + part { name: "base"; type: SPACER; + description { state: "default" 0.0; + fixed: 1 1; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "glow"; + rel2.to: "glow"; + color: 255 255 255 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "glow"; mouse_events: 0; + clip_to: "clip"; + description { state: "default" 0.0; + image.normal: "box_glow.png"; + image.border: 12 12 12 12; + image.middle: 0; + fill.smooth: 0; + rel1.to: "base"; + rel1.offset: -7 -7; + rel2.to: "base"; + rel2.offset: 5 5; + } + } + part { name: "sel"; mouse_events: 0; + clip_to: "clip"; + description { state: "default" 0.0; + image.normal: "box_outline.png"; + image.border: 12 12 12 12; + image.middle: 0; + fill.smooth: 0; + rel1.to: "glow"; + rel2.to: "glow"; + color: 255 255 255 0; + } + description { state: "hi" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + } + programs { + program { + signal: "efl,action,focus,show"; source: "efl"; + action: ACTION_STOP; + target: "pulse"; + target: "pulse2"; + after: "go2"; + } + program { name: "go2"; + action: STATE_SET "visible" 0.0; + transition: DECELERATE 0.2; + target: "clip"; + after: "pulse"; + after: "go3"; + } + program { name: "go3"; + action: SIGNAL_EMIT "efl,action,focus,show,end" "efl"; + } + program { + signal: "efl,action,focus,hide"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.4; + target: "clip"; + after: "stop2"; + } + program { name: "stop2"; + action: SIGNAL_EMIT "efl,action,focus,hide,end" "efl"; + after: "stop3"; + } + program { name: "stop3"; + action: ACTION_STOP; + target: "pulse"; + target: "pulse2"; + } + program { name: "pulse"; + action: STATE_SET "hi" 0.0; + transition: SINUSOIDAL 0.2; + in: 3.0 0.0; + target: "sel"; + after: "pulse2"; + } + program { name: "pulse2"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.4; + target: "sel"; + after: "pulse"; + } + program { + signal: "efl,state,anim,stop"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "base"; + } + } } -group { "efl/focus_highlight/top:blank"; - inherit: "elm/focus_highlight/top/blank"; +group { name: "efl/focus_highlight/top:blank"; + parts { + } } diff --git a/data/elementary/themes/edc/efl/frame.edc b/data/elementary/themes/edc/efl/frame.edc index f8b4690b24..6d3067170a 100644 --- a/data/elementary/themes/edc/efl/frame.edc +++ b/data/elementary/themes/edc/efl/frame.edc @@ -1,3 +1,166 @@ -group { "efl/frame"; - inherit: "elm/frame/base/default"; +group { name: "efl/frame"; + images.image: "shadow_square_tiny.png" COMP; + images.image: "vgrad_med_curved.png" COMP; + images.image: "bevel_out.png" COMP; + images.image: "holes_tiny_vert.png" COMP; + parts { + part { name: "shadow"; mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: -1 0; + rel2.offset: 0 1; + image.normal: "shadow_square_tiny.png"; + image.border: 6 6 6 6; + fill.smooth: 0; + } + } + part { name: "base"; type: RECT; + description { state: "default" 0.0; + rel1.relative: 0.0 1.0; + rel1.offset: 2 0; + rel1.to_y: "top"; + rel2.offset: -3 -3; + color: 64 64 64 255; + } + } + part { name: "top"; + description { state: "default" 0.0; + image.normal: "vgrad_med_curved.png"; + rel1.offset: 2 2; + rel2.to_y: "efl.text"; + rel2.offset: -3 -1; + fill.smooth: 0; + TILED_HORIZ(120) + } + } + part { name: "edge1"; + description { state: "default" 0.0; + image.normal: "holes_tiny_vert.png"; + rel1.offset: 4 0; + rel1.to_y: "efl.text"; + rel2.offset: 4 -1; + rel2.relative: 0.0 1.0; + rel2.to_y: "efl.text"; + align: 0.0 0.5; + FIXED_SIZE(3, 11) + } + } + part { name: "edge2"; + description { state: "default" 0.0; + image.normal: "holes_tiny_vert.png"; + rel1.offset: -5 0; + rel1.to_y: "efl.text"; + rel1.relative: 1.0 0.0; + rel2.offset: -5 -1; + rel2.relative: 1.0 1.0; + rel2.to_y: "efl.text"; + align: 1.0 0.5; + FIXED_SIZE(3, 11) + } + } + part { name: "efl.text"; type: TEXT; + scale: 1; + effect: SHADOW BOTTOM; + description { state: "default" 0.0; + color_class: "frame"; + rel1.relative: 1.0 0.0; + rel1.offset: 1 2; + rel1.to_x: "edge1"; + rel2.relative: 0.0 0.0; + rel2.offset: -3 1; + rel2.to_x: "edge2"; + align: 0.0 0.0; + color: FN_COL_DISABLE; + text { font: FNBD; size: 10; + text_class: "frame"; + align: 0.0 0.0; + min: 0 1; + } + fixed: 0 1; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + rel1.relative: 0.0 1.0; + rel1.offset: 5 0; + rel1.to_y: "efl.text"; + rel2.offset: -7 -7; + } + } + part { name: "efl.content"; type: SWALLOW; + clip_to: "clip"; + description { state: "default" 0.0; + align: 0.0 1.0; + rel1.relative: 0.0 1.0; + rel1.offset: 5 0; + rel1.to_y: "efl.text"; + rel2.offset: -7 -7; + } + description { state: "collapsed" 0.0; + inherit: "default" 0.0; + minmul: 1.0 0.0; + } + } + part { name: "bevel"; mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: 2 2; + rel2.offset: -3 -3; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + } + } + part { name: "event"; type: RECT; ignore_flags: ON_HOLD; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.to_y: "efl.text"; + rel2.to_y: "efl.text"; + } + } + } + programs { + program { name: "collapse"; + action: STATE_SET "collapsed" 0.0; + target: "efl.content"; + transition: ACCELERATE 0.3; + after: "signal"; + } + program { name: "expand"; + action: STATE_SET "default" 0.0; + target: "efl.content"; + transition: DECELERATE 0.3; + after: "signal"; + } + program { + signal: "mouse,up,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { + signal: "efl,action,toggle"; source: "efl"; + script { + new st[31]; + new Float:vl; + get_state(PART:"efl.content", st, 30, vl); + if (!strcmp(st, "default")) + run_program(PROGRAM:"collapse"); + else + run_program(PROGRAM:"expand"); + } + } + program { + signal: "efl,action,switch"; source: "efl"; + script { + new st[31]; + new Float:vl; + get_state(PART:"efl.content", st, 30, vl); + if (!strcmp(st, "default")) + set_state(PART:"efl.content", "collapsed", 0.0); + else + set_state(PART:"efl.content", "default", 0.0); + } + } + program { name: "signal"; + action: SIGNAL_EMIT "efl,anim,done" "efl"; + } + } } diff --git a/data/elementary/themes/edc/efl/list.edc b/data/elementary/themes/edc/efl/list.edc index 2707924020..1bc55ec4d6 100644 --- a/data/elementary/themes/edc/efl/list.edc +++ b/data/elementary/themes/edc/efl/list.edc @@ -1,8 +1,471 @@ group { "efl/list"; - inherit: "elm/list/base/default"; + inherit: "efl/scroller"; } -group { "efl/list/item"; - inherit: "elm/list/item/default"; +group { "efl/view_list"; + inherit: "efl/list"; } +group { "efl/list_item"; + data.item: "selectraise" "on"; + data.item: "focusraise" "on"; + images.image: "bevel_curved_horiz_out.png" COMP; + images.image: "shadow_rounded_horiz.png" COMP; + images.image: "vgrad_med_dark.png" COMP; + images.image: "bevel_horiz_out.png" COMP; + images.image: "shine.png" COMP; + parts { + rect { "event"; + desc { "default"; + color: 0 0 0 0; + } + desc { "disabled"; + inherit: "default"; + hid; + } + } + rect { "base"; nomouse; + desc { "default"; + color: 64 64 64 255; + color_class: "list_item_base"; + } + desc { "odd"; + color: 56 56 56 255; + color_class: "list_item_base_odd"; + } + } + + image { "bevel"; nomouse; + desc { "default"; + image.normal: "bevel_curved_horiz_out.png"; + image.border: 0 0 2 2; + image.middle: 0; + fill.smooth: 0; + } + } + swallow { "efl.background"; + desc { "default"; + rel.to: "base"; + vis; + } + } + image { "sel_shadow"; nomouse; + desc { "default"; + image.normal: "shadow_rounded_horiz.png"; + image.border: 0 0 9 9; + rel1.offset: 0 -4; + rel2.offset: -1 5; + fill.smooth: 0; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + image { "sel_base"; nomouse; + desc { "default"; + image.normal: "vgrad_med_dark.png"; + fill.smooth: 0; + hid; + TILED_HORIZ(120) + } + desc { "selected"; + inherit: "default"; + vis; + } + } + image { "sel_bevel"; nomouse; + desc { "default"; + image.normal: "bevel_horiz_out.png"; + image.border: 0 0 2 2; + image.middle: 0; + fill.smooth: 0; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + + //##// + text { "efl.text"; nomouse; + effect: SHADOW BOTTOM; + scale: 1; + desc { "default"; + rel1.offset: 2 3; + rel1.relative: 1.0 0.0; + rel1.to_x: "efl.icon"; + rel2.offset: -3 -3; + rel2.relative: 0.0 1.0; + rel2.to_x: "efl.end"; + color: FN_COL_DEFAULT; + color_class: "list_item"; + text { font: FN; size: 10; + min: 1 1; + ellipsis: -1; + align: 0.0 0.5; + text_class: "list_item"; + } + } + desc { "selected"; + inherit: "default"; + hid; + } + desc { "disabled"; + inherit: "default"; + hid; + } + } + text { "label2"; nomouse; + effect: SHADOW BOTTOM; + scale: 1; + desc { "default"; + rel1.to: "efl.text"; + rel2.to: "efl.text"; + color: FN_COL_DISABLE; + color_class: "list_item_disabled"; + text { font: FN; size: 10; + text_source: "efl.text"; + align: 0.0 0.5; + text_class: "list_item"; + } + hid; + } + desc { "selected"; + inherit: "default"; + hid; + } + desc { "disabled"; + inherit: "default"; + vis; + } + } + text { "label3"; nomouse; + effect: GLOW; + scale: 1; + desc { "default"; + rel1.offset: -2 -3; + rel1.to: "efl.text"; + rel2.offset: 1 1; + rel2.to: "efl.text"; + color: FN_COL_HIGHLIGHT; + color_class: "list_item_selected"; + text { font: FN; size: 10; + text_source: "efl.text"; + align: 0.0 0.5; + text_class: "list_item"; + } + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + desc { "disabled"; + inherit: "default"; + hid; + } + } + //##// + swallow { "efl.icon"; + desc { "default"; + fixed: 1 0; + align: 0.0 0.5; + aspect: 1.0 1.0; + rel1.offset: 2 2; + rel2.relative: 0.0 1.0; + rel2.offset: 2 -3; + } + } + swallow { "efl.end"; + desc { "default"; + fixed: 1 0; + align: 1.0 0.5; + aspect: 1.0 1.0; + rel1.offset: -3 2; + rel1.relative: 1.0 0.0; + rel2.offset: -3 -3; + } + } + //##// + image { "sel_shine"; nomouse; + desc { "default"; + image.normal: "shine.png"; + rel1.offset: 0 -2; + rel1.to: "sel_base"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + rel2.to: "sel_base"; + hid; + FIXED_SIZE(69, 5) + } + desc { "selected"; + inherit: "default"; + vis; + } + } + rect { "event_block"; + desc { "default"; + color: 0 0 0 0; + hid; + } + desc { "disabled"; + inherit: "default"; + vis; + } + } + } + programs { + program { + signal: "efl,state,odd"; source: "efl"; + action: STATE_SET "odd"; + target: "base"; + } + program { + signal: "efl,state,even"; source: "efl"; + action: STATE_SET "default"; + target: "base"; + } + program { + signal: "efl,state,pressed"; source: "efl"; + action: STATE_SET "selected"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "efl.text"; + target: "label2"; + target: "label3"; + target: "sel_shine"; + } + program { + signal: "efl,state,unpressed"; source: "efl"; + action: STATE_SET "default"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "efl.text"; + target: "label2"; + target: "label3"; + target: "sel_shine"; + } + program { + signal: "efl,state,selected"; source: "efl"; + action: STATE_SET "selected"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "efl.text"; + target: "label2"; + target: "label3"; + target: "sel_shine"; + } + program { + signal: "efl,state,unselected"; source: "efl"; + action: STATE_SET "default"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "efl.text"; + target: "label2"; + target: "label3"; + target: "sel_shine"; + } + program { + signal: "efl,state,disabled"; source: "efl"; + action: STATE_SET "disabled"; + target: "event"; + target: "efl.text"; + target: "label2"; + target: "label3"; + target: "event_block"; + } + program { + signal: "efl,state,enabled"; source: "efl"; + action: STATE_SET "default"; + target: "event"; + target: "efl.text"; + target: "label2"; + target: "label3"; + target: "event_block"; + } + } +} + +group { "efl/list_item:empty"; + data.item: "selectraise" "on"; + data.item: "focusraise" "on"; + images.image: "bevel_curved_horiz_out.png" COMP; + images.image: "shadow_rounded_horiz.png" COMP; + images.image: "vgrad_med_dark.png" COMP; + images.image: "bevel_horiz_out.png" COMP; + images.image: "shine.png" COMP; + parts { + rect { "event"; + desc { "default"; + color: 0 0 0 0; + } + desc { "disabled"; + inherit: "default"; + hid; + } + } + rect { "base"; nomouse; + desc { "default"; + color: 64 64 64 255; + color_class: "list_item_base"; + } + desc { "odd"; + color: 56 56 56 255; + color_class: "list_item_base_odd"; + } + } + + image { "bevel"; nomouse; + desc { "default"; + image.normal: "bevel_curved_horiz_out.png"; + image.border: 0 0 2 2; + image.middle: 0; + fill.smooth: 0; + } + } + swallow { "efl.background"; + desc { "default"; + rel.to: "base"; + vis; + } + } + image { "sel_shadow"; nomouse; + desc { "default"; + image.normal: "shadow_rounded_horiz.png"; + image.border: 0 0 9 9; + rel1.offset: 0 -4; + rel2.offset: -1 5; + fill.smooth: 0; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + image { "sel_base"; nomouse; + desc { "default"; + image.normal: "vgrad_med_dark.png"; + fill.smooth: 0; + hid; + TILED_HORIZ(120) + } + desc { "selected"; + inherit: "default"; + vis; + } + } + image { "sel_bevel"; nomouse; + desc { "default"; + image.normal: "bevel_horiz_out.png"; + image.border: 0 0 2 2; + image.middle: 0; + fill.smooth: 0; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + //##// + swallow { "efl.content"; mouse; + scale; + desc { "default"; + min: 19 19; + rel1.offset: -1 2; + rel2.offset: -3 -3; + } + } + //##// + image { "sel_shine"; + desc { "default"; + image.normal: "shine.png"; + rel1.offset: 0 -2; + rel1.to: "sel_base"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + rel2.to: "sel_base"; + hid; + FIXED_SIZE(69, 5) + } + desc { "selected"; + inherit: "default"; + vis; + } + } + rect { "event_block"; mouse; + desc { "default"; + color: 0 0 0 0; + hid; + } + desc { "disabled"; + inherit: "default"; + vis; + } + } + } + programs { + program { + signal: "efl,state,odd"; source: "efl"; + action: STATE_SET "odd"; + target: "base"; + } + program { + signal: "efl,state,even"; source: "efl"; + action: STATE_SET "default"; + target: "base"; + } + program { + signal: "efl,state,pressed"; source: "efl"; + action: STATE_SET "selected"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "sel_shine"; + } + program { + signal: "efl,state,unpressed"; source: "efl"; + action: STATE_SET "default"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "sel_shine"; + } + program { + signal: "efl,state,selected"; source: "efl"; + action: STATE_SET "selected"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "sel_shine"; + } + program { + signal: "efl,state,unselected"; source: "efl"; + action: STATE_SET "default"; + target: "sel_shadow"; + target: "sel_base"; + target: "sel_bevel"; + target: "sel_shine"; + } + program { + signal: "efl,state,disabled"; source: "efl"; + action: STATE_SET "disabled"; + target: "event"; + target: "event_block"; + } + program { + signal: "efl,state,enabled"; source: "efl"; + action: STATE_SET "default"; + target: "event"; + target: "event_block"; + } + } +} \ No newline at end of file diff --git a/data/elementary/themes/edc/efl/navigation_bar.edc b/data/elementary/themes/edc/efl/navigation_bar.edc new file mode 100644 index 0000000000..c2b4cee795 --- /dev/null +++ b/data/elementary/themes/edc/efl/navigation_bar.edc @@ -0,0 +1,114 @@ +//Efl.Ui.Navigation_Bar Themes +group { "efl/navigation_bar"; + styles { + style { name: "navigation_bar_text"; + base: "font="FNBD" font_size=10 text_class=label align=center color=#fff color_class=navigation_bar_text style=shadow,bottom shadow_color=#00000080 ellipsis=1.0 wrap=mixed"; + tag: "br" "\n"; + tag: "hilight" "+ font="FNBD" text_class=label_light"; + tag: "b" "+ font="FNBD" text_class=label_light"; + tag: "whitecolor" "+ color=#fff"; + tag: "tab" "\t"; + } + } + parts { + spacer { "base"; + desc { "default"; + } + } + swallow { "efl.back_button"; + desc { "default"; + fixed: 1 0; + min: 0 0; + max: 0 -1; + rel.to: "base"; + rel2.relative: 0.0 1.0; + align: 0.0 0.5; + hid; + } + desc { "visible"; + inherit: "default"; + min: 40 0; + max: 40 -1; + vis; + } + } + swallow { "efl.left_content"; + desc { "default"; + rel.to: "base"; + rel2.relative: 0.0 1.0; + align: 0.0 0.5; + } + } + swallow { "efl.right_content"; + desc { "default"; + rel.to: "base"; + rel1.relative: 1.0 0.0; + align: 1.0 0.5; + } + } + spacer { "text_base"; + desc { "default"; + rel1 { + to: "efl.back_button"; + relative: 1.0 0.0; + } + rel2 { + to: "efl.right_content"; + relative: 0.0 1.0; + } + } + desc { "left_content"; + inherit: "default"; + rel1 { + to: "efl.left_content"; + relative: 1.0 0.0; + } + } + } + textblock { "efl.text"; + scale; + desc { "default"; + text { + style: "navigation_bar_text"; + } + rel.to: "text_base"; + } + } + programs { + program { + signal: "efl,state,back_button,visible"; source: "efl"; + action: STATE_SET "visible" 0.0; + target: "efl.back_button"; + } + program { + signal: "efl,state,back_button,hidden"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "efl.back_button"; + } + program { + signal: "efl,state,left_content,set"; source: "efl"; + action: STATE_SET "left_content" 0.0; + target: "text_base"; + } + program { + signal: "efl,state,left_content,unset"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "text_base"; + } + } + } +} + +group { name: "efl/navigation_bar/back_button"; + inherit: "efl/button"; + images.image: "icon_arrow_left.png" COMP; + parts { + image { name: "icon_arrow_left"; + insert_before: "efl.content"; + desc { "default"; + image.normal: "icon_arrow_left.png"; + fill.smooth: 0; + } + } + } +} diff --git a/data/elementary/themes/edc/efl/navigation_layout.edc b/data/elementary/themes/edc/efl/navigation_layout.edc new file mode 100644 index 0000000000..4319453b96 --- /dev/null +++ b/data/elementary/themes/edc/efl/navigation_layout.edc @@ -0,0 +1,27 @@ +//Efl.Ui.Navigation_Layout Themes +group { "efl/navigation_layout"; + parts { + spacer { "base"; + desc { "default"; + } + } + swallow { "efl.bar"; + desc { "default"; + fixed: 0 1; + min: 0 40; + rel2.relative: 1.0 0.0; + align: 0.5 0.0; + } + } + swallow { "efl.content"; + desc { "default"; + rel1 { + to_x: "base"; + to_y: "efl.bar"; + relative: 0.0 1.0; + } + rel2.to_x: "base"; + } + } + } +} diff --git a/data/elementary/themes/edc/efl/nstate.edc b/data/elementary/themes/edc/efl/nstate.edc index c63624deec..1d7a724411 100644 --- a/data/elementary/themes/edc/efl/nstate.edc +++ b/data/elementary/themes/edc/efl/nstate.edc @@ -3,7 +3,7 @@ group { "efl/nstate"; programs { program { signal: "mouse,clicked,1"; source: "event"; - action: SIGNAL_EMIT "elm,action,state,changed" "elm"; + action: SIGNAL_EMIT "efl,action,state,changed" "efl"; } } } diff --git a/data/elementary/themes/edc/efl/pager.edc b/data/elementary/themes/edc/efl/pager.edc new file mode 100644 index 0000000000..d02be54b82 --- /dev/null +++ b/data/elementary/themes/edc/efl/pager.edc @@ -0,0 +1,66 @@ +group { "efl/pager"; + parts { + spacer { "base"; + scale; + desc { "default"; + } + } + swallow { "efl.background"; + scale; + desc { "default"; + } + } + swallow { "efl.page_root"; + scale; + desc { "default"; + rel1.relative: 0.0 1.0; + rel1.to: "efl.indicator"; + } + } + swallow { "efl.indicator"; + scale; + desc { "default"; + rel2.relative: 1.0 0.0; + align: 0.5 0.0; + min: 0 50; + } + } + swallow { "efl.event"; + scale; + repeat_events: 1; + desc { "default"; + } + } + } +} + +group { "efl/pager/indicator"; + images { + image: "ring_white_middle.png" COMP; + } + parts { + spacer { "base"; + scale; + desc { "default"; + } + } + image { "icon"; + scale; + desc { "default"; + image.normal: "ring_white_middle.png"; + color: 0 0 0 255; + min: 6 6; + } + desc { "selected"; + inherit: "default"; + color: 255 0 0 255; + } + } + } + script { + public message(Msg_Type:type, id, ...) { + set_tween_state(PART:"icon", getfarg(2), + "default", 0.0, "selected", 0.0); + } + } +} diff --git a/data/elementary/themes/edc/efl/panes.edc b/data/elementary/themes/edc/efl/panes.edc index 46a1c07d1c..6dc5e26537 100644 --- a/data/elementary/themes/edc/efl/panes.edc +++ b/data/elementary/themes/edc/efl/panes.edc @@ -1,52 +1,1006 @@ /* panes widget style information [SIGNAL] - elm,panes,fixed: Used for elm_panes_fixed_set() - elm,panes,unfixed: Used for elm_panes_fixed_set() + efl,panes,fixed: Used for elm_panes_fixed_set() + efl,panes,unfixed: Used for elm_panes_fixed_set() [SIGNAL EMIT] - elm,action,click: Used for "clicked" smart callback. - elm,action,click,double: Used for "clicked,double" smart callback. - elm,action,press: Used for "press" smart callback. - elm,action,unpress: Used for "unpress" smart callback. + efl,action,click: Used for "clicked" smart callback. + efl,action,click,double: Used for "clicked,double" smart callback. + efl,action,press: Used for "press" smart callback. + efl,action,unpress: Used for "unpress" smart callback. */ -group { "efl/panes/vertical"; - inherit: "elm/panes/vertical/default"; +#define PANEMIN 10 +#define PANEMIN2 16 +#define PANEWID 32 + +group { name: "efl/panes/vertical"; + images.image: "holes_vert.png" COMP; parts { - alias: "first" "elm.swallow.left"; - alias: "second" "elm.swallow.right"; + //TODO: remove left/right + alias: "first" "efl.left"; + alias: "second" "efl.right"; + alias: "left" "efl.left"; + alias: "right" "efl.right"; + + part { name: "whole"; type: SPACER; + description { state: "default" 0.0; + } + } + part { name: "right_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 1 1 1; + y: 0 0 0; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "left_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 1 1 1; + y: 0 0 0; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "sub_whole"; type: SPACER; + description { state: "default" 0.0; + rel1.relative: 1.0 0.0; + rel1.to_x: "left_constraint"; + rel2.relative: 0.0 1.0; + rel2.to_x: "right_constraint"; + } + } + part { name: "whole_left"; type: RECT; + description { state: "default" 0.0; + rel2.to_x: "efl.bar"; + rel2.relative: 1.0 1.0; + rel2.offset: -4 -1; + } + } + part { name: "whole_right"; type: RECT; + description { state: "default" 0.0; + rel1.to_x: "efl.bar"; + rel1.relative: 0.0 0.0; + rel1.offset: 3 0; + } + } + part { name: "efl.left"; type: SWALLOW; + clip_to: "whole_left"; + description { state: "default" 0.0; + rel2.to_x: "efl.bar"; + rel2.relative: 1.0 1.0; + rel2.offset: -4 -1; + } + } + part { name: "efl.right"; type: SWALLOW; + clip_to: "whole_right"; + description { state: "default" 0.0; + rel1.to_x: "efl.bar"; + rel1.relative: 0.0 0.0; + rel1.offset: 3 0; + } + } + part { name: "efl.bar"; type: SPACER; + dragable { confine: "sub_whole"; + x: 1 1 1; + y: 0 0 0; + } + description { state: "default" 0.0; + max: 0 99999; + min: 0 14; + fixed: 1 1; + rel1.relative: 0.0 0.5; + rel2.relative: 1.0 0.5; + } + } + part { name: "dots"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "holes_vert.png"; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + FIXED_SIZE(4, 14) + } + } + part { name: "efl.event"; type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + min: PANEMIN PANEMIN2; + fixed: 1 1; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + } + } + part { name: "bar"; type: RECT; + dragable.events: "efl.bar"; + description { state: "default" 0.0; + min: PANEMIN PANEWID; + max: 99999 99999; + fixed: 1 1; + rel1.to_x: "efl.event"; + rel2.to_x: "efl.event"; + color: 0 0 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback + action: SIGNAL_EMIT "efl,action,press" "efl"; + } + program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback + action: SIGNAL_EMIT "efl,action,unpress" "efl"; + } + program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback + action: SIGNAL_EMIT "efl,action,click,double" "efl"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,fixed"; source: "efl"; + action: STATE_SET "disabled" 0.0; + target: "bar"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,unfixed"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + } } } -group { "efl/panes/horizontal"; - inherit: "elm/panes/horizontal/default"; +group { name: "efl/panes/horizontal"; + images.image: "holes_horiz.png" COMP; parts { - alias: "first" "elm.swallow.left"; - alias: "second" "elm.swallow.right"; + //TODO: remove left/right + alias: "first" "efl.left"; + alias: "second" "efl.right"; + alias: "left" "efl.left"; + alias: "right" "efl.right"; + + part { name: "whole"; type: SPACER; + description { state: "default" 0.0; + } + } + part { name: "right_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 0 0 0; + y: 1 1 1; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "left_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 0 0 0; + y: 1 1 1; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "sub_whole"; type: SPACER; + description { state: "default" 0.0; + rel1.relative: 0.0 1.0; + rel1.to_y: "left_constraint"; + rel2.relative: 1.0 0.0; + rel2.to_y: "right_constraint"; + } + } + part { name: "whole_left"; type: RECT; + description { state: "default" 0.0; + rel2.to_y: "efl.bar"; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -4; + } + } + part { name: "whole_right"; type: RECT; + description { state: "default" 0.0; + rel1.to_y: "efl.bar"; + rel1.relative: 0.0 0.0; + rel1.offset: 0 3; + } + } + part { name: "efl.left"; type: SWALLOW; + clip_to: "whole_left"; + description { state: "default" 0.0; + rel2.to_y: "efl.bar"; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -4; + } + } + part { name: "efl.right"; type: SWALLOW; + clip_to: "whole_right"; + description { state: "default" 0.0; + rel1.to_y: "efl.bar"; + rel1.relative: 0.0 0.0; + rel1.offset: 0 3; + } + } + part { name: "efl.bar"; type: SPACER; + dragable { confine: "sub_whole"; + x: 0 0 0; + y: 1 1 1; + } + description { state: "default" 0.0; + max: 99999 0; + min: 14 0; + fixed: 1 1; + rel1.relative: 0.5 0.0; + rel2.relative: 0.5 1.0; + } + } + part { name: "dots"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "holes_horiz.png"; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + FIXED_SIZE(14, 4) + } + } + part { name: "efl.event"; type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + min: PANEMIN2 PANEMIN; + fixed: 1 1; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + } + } + part { name: "bar"; type: RECT; + dragable.events: "efl.bar"; + description { state: "default" 0.0; + min: PANEWID PANEMIN; + max: 99999 99999; + fixed: 1 1; + rel1.to_y: "efl.event"; + rel2.to_y: "efl.event"; + color: 0 0 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback + action: SIGNAL_EMIT "efl,action,press" "efl"; + } + program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback + action: SIGNAL_EMIT "efl,action,unpress" "efl"; + } + program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback + action: SIGNAL_EMIT "efl,action,click,double" "efl"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,fixed"; source: "efl"; + action: STATE_SET "disabled" 0.0; + target: "bar"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,unfixed"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + } } } -group { "efl/panes/vertical:flush"; - inherit: "elm/panes/vertical/flush"; +group { name: "efl/panes/vertical:flush"; + images.image: "downlight_glow_left.png" COMP; + images.image: "downlight_glow_right.png" COMP; + parts { + part { name: "whole"; type: SPACER; + description { state: "default" 0.0; + } + } + part { name: "right_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 1 1 1; + y: 0 0 0; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "left_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 1 1 1; + y: 0 0 0; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "sub_whole"; type: SPACER; + description { state: "default" 0.0; + rel1.relative: 1.0 0.0; + rel1.to_x: "left_constraint"; + rel2.relative: 0.0 1.0; + rel2.to_x: "right_constraint"; + } + } + part { name: "whole_left"; type: RECT; + description { state: "default" 0.0; + rel2.to_x: "efl.bar"; + rel2.relative: 1.0 1.0; + } + } + part { name: "whole_right"; type: RECT; + description { state: "default" 0.0; + rel1.to_x: "efl.bar"; + rel1.relative: 0.0 0.0; + } + } + part { name: "efl.left"; type: SWALLOW; + clip_to: "whole_left"; + description { state: "default" 0.0; + rel2.to_x: "efl.bar"; + rel2.relative: 1.0 1.0; + fixed: 1 0; + } + } + part { name: "efl.right"; type: SWALLOW; + clip_to: "whole_right"; + description { state: "default" 0.0; + rel1.to_x: "efl.bar"; + rel1.relative: 0.0 0.0; + fixed: 1 0; + } + } + part { name: "efl.bar"; type: SPACER; + dragable { confine: "sub_whole"; + x: 1 1 1; + y: 0 0 0; + } + description { state: "default" 0.0; + max: 0 99999; + min: 0 14; + fixed: 1 1; + rel1.relative: 0.0 0.5; + rel2.relative: 1.0 0.5; + } + } + part { name: "efl.event"; type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + min: PANEMIN PANEMIN2; + fixed: 1 1; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + } + } + part { name: "bar"; type: RECT; + dragable.events: "efl.bar"; + description { state: "default" 0.0; + min: PANEMIN PANEWID; + max: 99999 99999; + fixed: 1 1; + rel1.to_x: "efl.event"; + rel1.relative: 0.0 0.25; + rel2.to_x: "efl.event"; + rel2.relative: 1.0 0.75; + color: 0 0 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "glow1a"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow_left.png"; + image.border: 0 3 0 0; + max: 32 99999; + rel2.to_x: "efl.bar"; + color: 255 255 255 0; + align: 1.0 0.5; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "glow1b"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow_right.png"; + max: 4 99999; + rel1.to_x: "efl.bar"; + color: 255 255 255 0; + align: 0.0 0.5; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "glow2a"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow_left.png"; + max: 4 99999; + rel2.to_x: "efl.bar"; + color: 255 255 255 0; + align: 1.0 0.5; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "glow2b"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow_right.png"; + image.border: 3 0 0 0; + max: 32 99999; + rel1.to_x: "efl.bar"; + color: 255 255 255 0; + align: 0.0 0.5; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "bar1"; type: RECT; repeat_events: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "bar"; + rel2.to: "bar"; + rel2.relative: 0.5 1.0; + color: 0 0 0 0; + } + } + part { name: "bar2"; type: RECT; repeat_events: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "bar"; + rel1.relative: 0.5 0.0; + rel2.to: "bar"; + color: 0 0 0 0; + } + } + } + programs { + program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback + action: SIGNAL_EMIT "efl,action,press" "efl"; + } + program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback + action: SIGNAL_EMIT "efl,action,unpress" "efl"; + } + program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback + action: SIGNAL_EMIT "efl,action,click,double" "efl"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,fixed"; source: "efl"; + action: STATE_SET "disabled" 0.0; + target: "bar"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,unfixed"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + } + program { + signal: "mouse,in"; source: "bar1"; + action: STATE_SET "active" 0.0; + transition: BOUNCE 0.4 0.5 4; + target: "glow1a"; + target: "glow1b"; + } + program { + signal: "mouse,out"; source: "bar1"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.5; + target: "glow1a"; + target: "glow1b"; + } + program { + signal: "mouse,in"; source: "bar2"; + action: STATE_SET "active" 0.0; + transition: BOUNCE 0.4 0.5 4; + target: "glow2a"; + target: "glow2b"; + } + program { + signal: "mouse,out"; source: "bar2"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.5; + target: "glow2a"; + target: "glow2b"; + } + } } -group { "efl/panes/horizontal:flush"; - inherit: "elm/panes/horizontal/flush"; +group { name: "efl/panes/horizontal:flush"; + images.image: "downlight_glow.png" COMP; + images.image: "downlight_glow_up.png" COMP; + parts { + part { name: "whole"; type: SPACER; + description { state: "default" 0.0; + } + } + part { name: "right_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 0 0 0; + y: 1 1 1; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "left_constraint"; type: SPACER; + dragable { confine: "whole"; + x: 0 0 0; + y: 1 1 1; + } + description { state: "default" 0.0; + max: 0 0; + } + } + part { name: "sub_whole"; type: SPACER; + description { state: "default" 0.0; + rel1.relative: 0.0 1.0; + rel1.to_y: "left_constraint"; + rel2.relative: 1.0 0.0; + rel2.to_y: "right_constraint"; + } + } + part { name: "whole_left"; type: RECT; + description { state: "default" 0.0; + rel2.to_y: "efl.bar"; + rel2.relative: 1.0 1.0; + } + } + part { name: "whole_right"; type: RECT; + description { state: "default" 0.0; + rel1.to_y: "efl.bar"; + rel1.relative: 0.0 0.0; + } + } + part { name: "efl.left"; type: SWALLOW; + clip_to: "whole_left"; + description { state: "default" 0.0; + rel2.to_y: "efl.bar"; + rel2.relative: 1.0 1.0; + fixed: 0 1; + } + } + part { name: "efl.right"; type: SWALLOW; + clip_to: "whole_right"; + description { state: "default" 0.0; + rel1.to_y: "efl.bar"; + rel1.relative: 0.0 0.0; + fixed: 0 1; + } + } + part { name: "efl.bar"; type: SPACER; + dragable { confine: "sub_whole"; + x: 0 0 0; + y: 1 1 1; + } + description { state: "default" 0.0; + max: 99999 0; + min: 14 0; + fixed: 1 1; + rel1.relative: 0.5 0.0; + rel2.relative: 0.5 1.0; + } + } + part { name: "efl.event"; type: SWALLOW; + description { state: "default" 0.0; + visible: 0; + min: PANEMIN2 PANEMIN; + fixed: 1 1; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + } + } + part { name: "bar"; type: RECT; + dragable.events: "efl.bar"; + description { state: "default" 0.0; + min: PANEWID PANEMIN; + max: 99999 99999; + fixed: 1 1; + rel1.to_y: "efl.event"; + rel1.relative: 0.25 0.0; + rel2.to_y: "efl.event"; + rel2.relative: 0.75 1.0; + color: 0 0 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "glow1a"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow_up.png"; + image.border: 0 0 0 3; + max: 99999 32; + rel2.to_y: "efl.bar"; + color: 255 255 255 0; + align: 0.5 1.0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "glow1b"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow.png"; + max: 99999 4; + rel1.to_y: "efl.bar"; + color: 255 255 255 0; + align: 0.5 0.0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "glow2a"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow_up.png"; + max: 99999 4; + rel2.to_y: "efl.bar"; + color: 255 255 255 0; + align: 0.5 1.0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "glow2b"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "downlight_glow.png"; + image.border: 0 0 3 0; + max: 99999 32; + rel1.to_y: "efl.bar"; + color: 255 255 255 0; + align: 0.5 0.0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "bar1"; type: RECT; repeat_events: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "bar"; + rel2.to: "bar"; + rel2.relative: 1.0 0.5; + color: 0 0 0 0; + } + } + part { name: "bar2"; type: RECT; repeat_events: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "bar"; + rel1.relative: 0.0 0.5; + rel2.to: "bar"; + color: 0 0 0 0; + } + } + } + programs { + program { + signal: "mouse,in"; source: "bar1"; + action: STATE_SET "active" 0.0; + transition: BOUNCE 0.4 0.5 4; + target: "glow1a"; + target: "glow1b"; + } + program { + signal: "mouse,out"; source: "bar1"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.5; + target: "glow1a"; + target: "glow1b"; + } + program { + signal: "mouse,in"; source: "bar2"; + action: STATE_SET "active" 0.0; + transition: BOUNCE 0.4 0.5 4; + target: "glow2a"; + target: "glow2b"; + } + program { + signal: "mouse,out"; source: "bar2"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.5; + target: "glow2a"; + target: "glow2b"; + } + program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback + action: SIGNAL_EMIT "efl,action,press" "efl"; + } + program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback + action: SIGNAL_EMIT "efl,action,unpress" "efl"; + } + program { signal: "mouse,clicked,1"; source: "bar"; // for "clicked" smart callback + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { signal: "mouse,down,1,double"; source: "bar"; // for "clicked,double" smart callback + action: SIGNAL_EMIT "efl,action,click,double" "efl"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,fixed"; source: "efl"; + action: STATE_SET "disabled" 0.0; + target: "bar"; + } + program { // for elm_panes_fixed_set() + signal: "efl,panes,unfixed"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + } + } } -group { "efl/panes/vertical:left-fold"; - inherit: "elm/panes/vertical/left-fold"; +group { name: "efl/panes/vertical:left-fold"; + inherit: "efl/panes/vertical"; + images.image: "icon_arrow_left.png" COMP; + images.image: "icon_arrow_right.png" COMP; + script { + public open; + public drag_x; + public drag_y; + } + parts { + spacer { "sub_whole"; + desc { "default"; + rel1.offset: 3 0; + } + } + image { "dots"; + desc { "default"; + image.normal: "icon_arrow_left.png"; + FIXED_SIZE(14, 14) + } + desc { "closed"; + inherit: "default" 0.0; + image.normal: "icon_arrow_right.png"; + } + } + rect { "event"; + repeat; + desc { "default"; + rel1.to: "dots"; + rel2.to: "dots"; + color: 0 0 0 0; + } + } + } + programs { + program { signal: "load"; source: ""; + script { + set_int(open, 1); + } + } + program { signal: "mouse,clicked,1"; source: "event"; + script { + if (get_int(open) == 1) + { + new Float: dx; + new Float: dy; + set_int(open, 0); + get_drag(PART:"efl.bar", dx, dy); + set_float(drag_x, dx); + set_drag(PART:"efl.bar", 0.0, 0.5); + set_state(PART:"dots", "closed", 0.0); + } + else if (get_int(open) == 0) + { + set_int(open, 1); + set_drag(PART:"efl.bar", get_float(drag_x), 0.5); + set_state(PART:"dots", "default", 0.0); + } + } + } + } } -group { "efl/panes/vertical:right-fold"; - inherit: "elm/panes/vertical/right-fold"; +group { name: "efl/panes/vertical:right-fold"; + inherit: "efl/panes/vertical"; + images.image: "icon_arrow_left.png" COMP; + images.image: "icon_arrow_right.png" COMP; + script { + public open; + public drag_x; + public drag_y; + } + parts { + spacer { "sub_whole"; + desc { "default"; + rel2.offset: -4 0; + } + } + image { "dots"; + desc { "default"; + image.normal: "icon_arrow_right.png"; + FIXED_SIZE(14, 17) + } + desc { "closed"; + inherit: "default" 0.0; + image.normal: "icon_arrow_left.png"; + } + } + rect { "event"; + repeat; + desc { "default"; + rel1.to: "dots"; + rel2.to: "dots"; + color: 0 0 0 0; + } + } + } + programs { + program { signal: "load"; source: ""; + script { + set_int(open, 1); + } + } + program { signal: "mouse,clicked,1"; source: "event"; + script { + if (get_int(open) == 1) + { + new Float: dx; + new Float: dy; + set_int(open, 0); + get_drag(PART:"efl.bar", dx, dy); + set_float(drag_x, dx); + set_drag(PART:"efl.bar", 1.0, 0.5); + set_state(PART:"dots", "closed", 0.0); + } + else if (get_int(open) == 0) + { + set_int(open, 1); + set_drag(PART:"efl.bar", get_float(drag_x), 0.5); + set_state(PART:"dots", "default", 0.0); + } + } + } + } } -group { "efl/panes/horizontal:up-fold"; - inherit: "elm/panes/horizontal/up-fold"; +group { name: "efl/panes/horizontal:up-fold"; + inherit: "efl/panes/horizontal"; + images.image: "icon_arrow_up.png" COMP; + images.image: "icon_arrow_down.png" COMP; + script { + public open; + public drag_x; + public drag_y; + } + parts { + spacer { "sub_whole"; + desc { "default"; + rel1.offset: 0 3; + } + } + image { "dots"; + desc { "default"; + image.normal: "icon_arrow_up.png"; + FIXED_SIZE(17, 14) + } + desc { "closed"; + inherit: "default" 0.0; + image.normal: "icon_arrow_down.png"; + } + } + rect { "event"; + repeat; + desc { "default"; + rel1.to: "dots"; + rel2.to: "dots"; + color: 0 0 0 0; + } + } + } + programs { + program { signal: "load"; source: ""; + script { + set_int(open, 1); + } + } + program { signal: "mouse,clicked,1"; source: "event"; + script { + if (get_int(open) == 1) + { + new Float: dx; + new Float: dy; + set_int(open, 0); + get_drag(PART:"efl.bar", dx, dy); + set_float(drag_y, dy); + set_drag(PART:"efl.bar", 0.5, 0.0); + set_state(PART:"dots", "closed", 0.0); + } + else if (get_int(open) == 0) + { + set_int(open, 1); + set_drag(PART:"efl.bar", 0.5, get_float(drag_y)); + set_state(PART:"dots", "default", 0.0); + } + } + } + } } -group { "efl/panes/horizontal:down-fold"; - inherit: "elm/panes/horizontal/down-fold"; +group { name: "efl/panes/horizontal:down-fold"; + inherit: "efl/panes/horizontal"; + images.image: "icon_arrow_up.png" COMP; + images.image: "icon_arrow_down.png" COMP; + script { + public open; + public drag_x; + public drag_y; + } + parts { + spacer { "sub_whole"; + desc { "default"; + rel2.offset: 0 -4; + } + } + image { "dots"; + desc { "default"; + image.normal: "icon_arrow_down.png"; + FIXED_SIZE(17, 14) + } + desc { "closed"; + inherit: "default" 0.0; + image.normal: "icon_arrow_up.png"; + } + } + rect { "event"; + repeat; + desc { "default"; + rel1.to: "dots"; + rel2.to: "dots"; + color: 0 0 0 0; + } + } + } + programs { + program { signal: "load"; source: ""; + script { + set_int(open, 1); + } + } + program { signal: "mouse,clicked,1"; source: "event"; + script { + if (get_int(open) == 1) + { + new Float: dx; + new Float: dy; + set_int(open, 0); + get_drag(PART:"efl.bar", dx, dy); + set_float(drag_y, dy); + set_drag(PART:"efl.bar", 0.5, 1.0); + set_state(PART:"dots", "closed", 0.0); + } + else if (get_int(open) == 0) + { + set_int(open, 1); + set_drag(PART:"efl.bar", 0.5, get_float(drag_y)); + set_state(PART:"dots", "default", 0.0); + } + } + } + } } diff --git a/data/elementary/themes/edc/efl/photocam.edc b/data/elementary/themes/edc/efl/photocam.edc index ccc226ed39..e69f7ed355 100644 --- a/data/elementary/themes/edc/efl/photocam.edc +++ b/data/elementary/themes/edc/efl/photocam.edc @@ -1,3 +1,100 @@ -group { "efl/photocam"; - inherit: "elm/photocam/base/default"; +group { name: "efl/photocam"; + inherit: "efl/scroller"; + images.image: "knob_round_busy.png" COMP; + images.image: "glow_round_corners.png" COMP; + parts { + part { name: "busy_clip"; type: RECT; + description { state: "default" 0.0; + visible: 0; + color: 255 255 255 0; + } + description { state: "active" 0.0; + visible: 1; + color: 255 255 255 255; + } + } + part { name: "knob"; mouse_events: 0; + clip_to: "busy_clip"; + scale: 1; + description { state: "default" 0.0; + image.normal: "knob_round_busy.png"; + min: 40 40; + max: 40 40; + align: 0.0 0.0; + rel1.offset: 3 3; + rel2.offset: 3 3; + fixed: 1 1; + } + } + part { name: "knob_spinner"; mouse_events: 0; + clip_to: "busy_clip"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "knob"; + rel2.to: "knob"; + image.normal: "glow_round_corners.png"; + map.on: 1; + map.smooth: 1; + map.rotation.center: "knob"; + } + description { state: "spin" 0.0; + inherit: "default" 0.0; + map.rotation.z: 360; + } + } + } + programs { + program { name: "spin"; + signal: "efl,state,busy,start"; source: "efl"; + action: ACTION_STOP; + target: "spin"; + target: "spin0"; + target: "spin1"; + target: "spin2"; + target: "spin3"; + target: "spin4"; + after: "spin0"; + } + program { name: "spin0"; + action: STATE_SET "default" 0.0; + target: "knob_spinner"; + after: "spin1"; + } + program { name: "spin1"; + action: STATE_SET "spin" 0.0; + transition: LINEAR 1.0; + target: "knob_spinner"; + after: "spin2"; + } + program { name: "spin2"; + action: STATE_SET "default" 0.0; + target: "knob_spinner"; + after: "spin1"; + } + + program { + signal: "efl,state,busy,start"; source: "efl"; + action: STATE_SET "active" 0.0; + transition: SINUSOIDAL 0.25; + target: "busy_clip"; + } + + program { + signal: "efl,state,busy,stop"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 1.0; + target: "busy_clip"; + after: "spin3"; + } + program { name: "spin3"; + action: ACTION_STOP; + target: "spin"; + target: "spin2"; + after: "spin4"; + } + program { name: "spin4"; + action: STATE_SET "default" 0.0; + target: "knob_spinner"; + } + } } diff --git a/data/elementary/themes/edc/efl/pointer.edc b/data/elementary/themes/edc/efl/pointer.edc new file mode 100644 index 0000000000..0794400b23 --- /dev/null +++ b/data/elementary/themes/edc/efl/pointer.edc @@ -0,0 +1,221 @@ +group { name: "efl/pointer"; + images { + image: "pointer.png" COMP; + image: "pointer_glow.png" COMP; + } + parts { + part { + name: "base"; + mouse_events: 0; + description { + state: "default" 0.0; + aspect: 1.0 1.0; + min: 32 32; + /* force a specific aspect ratio so + * when it gets scaled it wont squash + * or stretch */ + aspect_preference: BOTH; + /* both axes control aspect - thus it + * will be WITHIN the bounds the axes + * of thre part describe */ + image { + normal: "pointer.png"; + } + } + } + part { name: "glow"; + description { state: "default" 0.0; + image.normal: "pointer_glow.png"; + color: 255 255 255 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "faded" 0.0; + inherit: "default" 0.0; + color: 255 255 255 128; + } + } + part { + name: "efl.hotspot"; + /* this is a "fake" swallow part + * that is used by e to determine + * the pointer hotspot - or where + * the actual mouse events get + * reported from on the cursor */ + type: SWALLOW; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + rel1 { + /* the hotspot will scale with the cursor here */ + to: "base"; + relative: 0.1875 0.1875; + offset: 0 0; + } + rel2 { + to: "base"; + relative: 0.1875 0.1875; + offset: 0 0; + } + } + } + } + programs { + program { + signal: "efl,action,mouse,down"; source: "efl"; + action: STATE_SET "visible" 0.0; + target: "glow"; + after: "fade"; + } + program { name: "fade"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.5; + target: "glow"; + } + program { name: "pulse"; + signal: "e,state,mouse,idle"; source: "e"; + in: 10.0 0.0; + action: STATE_SET "faded" 0.0; + transition: SINUSOIDAL 0.25; + target: "glow"; + after: "pulse2"; + } + program { name: "pulse2"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.5; + target: "glow"; + after: "pulse"; + } + program { + signal: "efl,action,mouse,move"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "glow"; + after: "stop2"; + } + program { name: "stop2"; + action: ACTION_STOP; + target: "pulse"; + target: "pulse2"; + } + } +} + +group { name: "efl/pointer:bottom_right_corner"; + inherit: "efl/pointer"; + images.image: "mini_box_glow.png" COMP; + parts { + part { name: "box"; + insert_after: "glow"; + description { state: "default" 0.0; + image.normal: "mini_box_glow.png"; + image.border: 7 7 7 7; + rel1.relative: 0.3 0.3; + rel2.relative: 0.7 0.7; + } + description { state: "p1" 0.0; + inherit: "default" 0.0; + rel1.relative: 0.3 0.3; + rel2.relative: 1.0 1.0; + } + } + } + programs { + program { name: "box1"; + signal: "load"; source: ""; + action: STATE_SET "p1" 0.0; + transition: SINUSOIDAL 0.5; + target: "box"; + after: "box2"; + } + program { name: "box2"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.5; + target: "box"; + after: "box1"; + } + } +} + +group { name: "efl/pointer:bottom_left_corner"; + inherit: "efl/pointer:bottom_right_corner"; + parts { + part { name: "box"; + description { state: "default" 0.0; + rel1.relative: 0.7 0.3; + rel2.relative: 1.0 0.7; + } + description { state: "p1" 0.0; + rel1.relative: 0.3 0.3; + rel2.relative: 1.0 1.0; + } + } + } +} + + +group { name: "efl/pointer:bottom_side"; + inherit: "efl/pointer:bottom_right_corner"; + parts { + part { name: "box"; + description { state: "default" 0.0; + rel1.relative: 0.3 0.3; + rel2.relative: 1.0 0.7; + } + description { state: "p1" 0.0; + rel1.relative: 0.3 0.3; + rel2.relative: 1.0 1.0; + } + } + } +} + +group { name: "efl/pointer:top_right_corner"; + inherit: "efl/pointer:bottom_right_corner"; + parts { + part { name: "box"; + description { state: "default" 0.0; + rel1.relative: 0.3 0.3; + rel2.relative: 0.7 0.7; + } + description { state: "p1" 0.0; + rel1.relative: 0.3 0.0; + rel2.relative: 1.0 0.7; + } + } + } +} + +group { name: "efl/pointer:top_left_corner"; + inherit: "efl/pointer:bottom_right_corner"; + parts { + part { name: "box"; + description { state: "default" 0.0; + rel1.relative: 0.6 0.6; + rel2.relative: 1.0 1.0; + } + description { state: "p1" 0.0; + rel1.relative: 0.3 0.3; + rel2.relative: 1.0 1.0; + } + } + } +} + +group { name: "efl/pointer:top_side"; + inherit: "efl/pointer:bottom_right_corner"; + parts { + part { name: "box"; + description { state: "default" 0.0; + rel1.relative: 0.3 0.6; + rel2.relative: 1.0 1.0; + } + description { state: "p1" 0.0; + rel1.relative: 0.3 0.3; + rel2.relative: 1.0 1.0; + } + } + } +} diff --git a/data/elementary/themes/edc/efl/popup.edc b/data/elementary/themes/edc/efl/popup.edc index 491d483b42..eb656c76e4 100644 --- a/data/elementary/themes/edc/efl/popup.edc +++ b/data/elementary/themes/edc/efl/popup.edc @@ -15,7 +15,7 @@ group { "efl/popup"; image.normal: "rounded_square.png"; } } - swallow { "elm.swallow.content"; + swallow { "efl.content"; desc { "default"; rel.to: "base"; } @@ -28,7 +28,7 @@ group { "efl/popup_alert"; alias: "efl/popup_alert_text"; images.image: "rounded_square.png" COMP; parts { - alias: "title" "elm.text.title"; + alias: "title" "efl.text.title"; image { "bg"; desc { "default"; min: 100 100; @@ -57,7 +57,7 @@ group { "efl/popup_alert"; min: 0 20; } } - textblock { "elm.text.title"; + textblock { "efl.text.title"; scale; desc { "default"; fixed: 1 1; @@ -72,7 +72,7 @@ group { "efl/popup_alert"; vis; } } - swallow { "buttons"; + swallow { "efl.buttons"; desc { "default"; fixed: 0 1; rel.to: "base"; @@ -85,12 +85,12 @@ group { "efl/popup_alert"; min: 0 30; } } - swallow { "elm.swallow.content"; + swallow { "efl.content"; desc { "default"; rel1.to_x: "base"; rel1.to_y: "title_bg"; rel2.to_x: "base"; - rel2.to_y: "buttons"; + rel2.to_y: "efl.buttons"; rel1.relative: 0.0 1.0; rel2.relative: 1.0 0.0; } @@ -98,15 +98,15 @@ group { "efl/popup_alert"; } programs { program { - signal: "elm,title,show"; source: "elm"; + signal: "efl,title,show"; source: "efl"; action: STATE_SET "title_visible" 0.0; target: "title_bg"; - target: "elm.text.title"; + target: "efl.text.title"; } program { - signal: "elm,buttons,show"; source: "elm"; + signal: "efl,buttons,show"; source: "efl"; action: STATE_SET "button_visible" 0.0; - target: "buttons"; + target: "efl.buttons"; } } } @@ -125,17 +125,17 @@ group { "efl/popup/backwall"; desc { "default"; color: 0 0 0 64; } - desc { "show_image"; + desc { "content_visible"; inherit: "default"; hid; } } - swallow { "elm.swallow.image"; + swallow { "efl.content"; desc { "default"; rel.to: "base"; hid; } - desc { "show_image"; + desc { "content_visible"; inherit: "default"; vis; } @@ -150,20 +150,20 @@ group { "efl/popup/backwall"; programs { program { - signal: "elm,state,image,visible"; source: "elm"; - action: STATE_SET "show_image" 0.0; + signal: "efl,state,content,set"; source: "efl"; + action: STATE_SET "content_visible" 0.0; target: "base"; - target: "elm.swallow.image"; + target: "efl.content"; } program { - signal: "elm,state,image,hidden"; source: "elm"; + signal: "efl,state,content,unset"; source: "efl"; action: STATE_SET "default" 0.0; target: "base"; - target: "elm.swallow.image"; + target: "efl.content"; } program { signal: "mouse,clicked,1"; source: "block"; - action: SIGNAL_EMIT "elm,action,clicked" "elm"; + action: SIGNAL_EMIT "efl,action,clicked" "efl"; } } } @@ -172,7 +172,7 @@ group { "efl/popup_alert/button_layout1"; alias: "efl/popup_alert_scroll/button_layout1"; alias: "efl/popup_alert_text/button_layout1"; parts { - swallow { "elm.swallow.button1"; + swallow { "efl.button1"; } } } @@ -188,13 +188,13 @@ group { "efl/popup_alert/button_layout2"; min: 5 5; } } - swallow { "elm.swallow.button1"; + swallow { "efl.button1"; desc { "default"; rel2.to_x: "div1"; rel2.relative: 0.0 1.0; } } - swallow { "elm.swallow.button2"; + swallow { "efl.button2"; desc { "default"; rel1.to_x: "div1"; rel1.relative: 1.0 0.0; @@ -221,13 +221,13 @@ group { "efl/popup_alert/button_layout3"; min: 5 5; } } - swallow { "elm.swallow.button1"; + swallow { "efl.button1"; desc { "default"; rel2.to_x: "div1"; rel2.relative: 0.0 1.0; } } - swallow { "elm.swallow.button2"; + swallow { "efl.button2"; desc { "default"; rel1.to_x: "div1"; rel2.to_x: "div2"; @@ -235,7 +235,7 @@ group { "efl/popup_alert/button_layout3"; rel2.relative: 0.0 1.0; } } - swallow { "elm.swallow.button3"; + swallow { "efl.button3"; desc { "default"; rel1.to_x: "div2"; rel1.relative: 1.0 0.0; @@ -251,8 +251,26 @@ group { "efl/popup_alert/button"; } group { "efl/popup_alert_scroll/scroller"; - inherit: "elm/scroller/base/popup/no_inset_shadow"; + inherit: "efl/scroller"; alias: "efl/popup_alert_text/scroller"; + parts { + swallow { "efl.content"; + desc { "default"; + rel1.offset: 0 0; + rel2.offset: 0 0; + } + } + spacer { "inset"; + desc { "default"; + hid; + } + } + spacer { "shadow"; + desc { "default"; + hid; + } + } + } } group { "efl/popup_alert_text/text"; diff --git a/data/elementary/themes/edc/efl/progress.edc b/data/elementary/themes/edc/efl/progress.edc index 2cb11b29db..1d48b20545 100644 --- a/data/elementary/themes/edc/efl/progress.edc +++ b/data/elementary/themes/edc/efl/progress.edc @@ -1,20 +1,1402 @@ group { "efl/progressbar/horizontal"; - inherit: "elm/progressbar/horizontal/default"; + images.image: "inset_bar_horiz_base.png" COMP; + images.image: "inset_bar_horiz_light.png" COMP; + images.image: "inset_bar_horiz_inside_base.png" COMP; + images.image: "inset_bar_horiz_inside_light.png" COMP; + images.image: "inset_bar_horiz_glow_base.png" COMP; + images.image: "inset_bar_horiz_glow_light.png" COMP; + images.image: "inset_bar_horiz_glow_inv_base.png" COMP; + images.image: "inset_bar_horiz_glow_inv_light.png" COMP; + images.image: "inset_bar_horiz_glow_mid_base.png" COMP; + images.image: "inset_bar_horiz_glow_mid_light.png" COMP; +#define ICON 1 +#define LABEL 2 +#define DISABLE 4 + script { + public slmode; + public eval_mode(m) { + new ic = m & ICON; + new l = m & LABEL; + new d = m & DISABLE; + if (l) { + if (!d) { + set_state(PART:"efl.text", "visible", 0.0); + } else { + set_state(PART:"efl.text", "disabled_visible", 0.0); + } + } else { + set_state(PART:"efl.text", "default", 0.0); + } + if (ic) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + } + if (!d) { + set_state(PART:"dis_clip", "default", 0.0); + } else { + set_state(PART:"dis_clip", "disabled", 0.0); + } + } + } + parts { + part { name: "dis_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "pulse_clip"; type: RECT; + description { state: "default" 0.0; + rel1.relative: -2.0 -2.0; + rel2.relative: 3.0 3.0; + visible: 0; + } + description { state: "pulse" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "fract_clip"; type: RECT; + description { state: "default" 0.0; + rel1.relative: -2.0 -2.0; + rel2.relative: 3.0 3.0; + } + description { state: "pulse" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "efl.content"; type: SWALLOW; + clip_to: "dis_clip"; + required; + description { state: "default" 0.0; + visible: 0; + align: 0.0 0.5; + fixed: 1 0; + rel1.offset: 0 2; + rel2.offset: -1 -3; + rel2.relative: 0.0 1.0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + rel1.offset: 2 2; + rel2.offset: 2 -3; + } + } + part { name: "sizer_content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "progressbar_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + part { name: "efl.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + required; + description { state: "default" 0.0; + fixed: 1 1; + align: 0.0 0.5; + rel1.to_x: "efl.content"; + rel1.relative: 1.0 0.0; + rel1.offset: -1 2; + rel2.to_x: "efl.content"; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -3; + color: FN_COL_DEFAULT; + color_class: "progressbar_text"; + text { font: FN; size: 10; + text_class: "progressbar"; + min: 0 0; + align: 0.0 0.5; + } + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + fixed: 1 0; + visible: 1; + rel1.offset: 2 2; + rel2.offset: 2 -3; + text.min: 1 1; + text.ellipsis: -1; + } + description { state: "disabled_visible" 0.0; + inherit: "visible" 0.0; + color_class: "progressbar_text_disabled"; + color: FN_COL_DISABLE_LIGHTER_SHADOW; + } + } + part { name: "bg-hi"; + description { state: "default" 0.0; + rel1.to: "bg"; + rel1.offset: 0 1; + rel2.to: "bg"; + rel2.offset: -1 0; + image.normal: "inset_bar_horiz_light.png"; + image.border: 32 32 0 0; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "bg"; + scale: 1; + description { state: "default" 0.0; + min: 16 16; + max: -1 16; + rel1.to_x: "efl.text"; + rel1.relative: 1.0 0.0; + rel1.offset: 3 3; + rel2.offset: -4 -4; + image.normal: "inset_bar_horiz_base.png"; + image.border: 32 32 0 0; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "ins0"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + rel1.to: "bg"; + rel2.to: "bg"; + rel2.relative: 0.0 1.0; + min: 5 16; + align: 0.0 0.5; + } + } + part { name: "ins1"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + rel1.to: "bg"; + rel1.relative: 1.0 0.0; + rel2.to: "bg"; + min: 5 16; + align: 1.0 0.5; + } + } + part { name: "inside-hi"; + scale: 1; + description { state: "default" 0.0; + rel1.to: "inside"; + rel1.offset: 0 1; + rel2.to: "inside"; + rel2.offset: -1 0; + image.normal: "inset_bar_horiz_inside_light.png"; + image.border: 8 8 0 0; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "inside"; + scale: 1; + description { state: "default" 0.0; + min: 4 4; + rel1.to: "ins0"; + rel1.relative: 1.0 (6/16); + rel2.to: "ins1"; + rel2.relative: 0.0 (10/16); + image.normal: "inset_bar_horiz_inside_base.png"; + image.border: 8 8 0 0; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "efl.bar"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "inside"; + rel2.to: "inside"; + } + } + part { name: "efl.cur.progressbar"; mouse_events: 0; type: SPACER; + scale: 1; + dragable.confine: "inside"; + dragable.x: 1 1 1; + dragable.y: 0 0 0; + description { state: "default" 0.0; + fixed: 1 1; + min: 8 4; + max: 8 4; + rel1.to: "inside"; + rel2.to: "inside"; + } + } + part { name: "barend"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + min: 14 16; + rel1.to_x: "efl.cur.progressbar"; + rel1.relative: 1.0 0.0; + rel2.to_x: "efl.cur.progressbar"; + rel2.relative: 1.0 1.0; + align: 0.0 0.5; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 1.0; + align: 1.0 0.5; + } + } + part { name: "bar"; + clip_to: "fract_clip"; + scale: 1; + description { state: "default" 0.0; + rel1.to_x: "ins0"; + rel1.to_y: "bg"; + rel1.relative: (12/16) -0.25; + rel2.to_x: "barend"; + rel2.to_y: "bg"; + rel2.relative: 1.0 1.25; + image.normal: "inset_bar_horiz_glow_base.png"; + image.border: 0 72 0 0; + image.border_scale_by: 0.25; image.border_scale: 1; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.to_x: "barend"; + rel1.relative: 0.0 -0.25; + rel2.to_x: "ins1"; + rel2.relative: (4/16) 1.25; + image.normal: "inset_bar_horiz_glow_inv_base.png"; + image.border: 72 0 0 0; + } + } + part { name: "insidep0"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + min: 20 16; + rel1.to_x: "inside"; + rel1.relative: 0.0 0.0; + rel2.to_x: "inside"; + rel2.relative: 0.0 1.0; + align: 1.0 0.5; + } + } + part { name: "insidep1"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + min: 20 16; + rel1.to_x: "inside"; + rel1.relative: 1.0 0.0; + rel2.to_x: "inside"; + rel2.relative: 1.0 1.0; + align: 0.0 0.5; + } + } + part { name: "pulse"; + clip_to: "pulse_clip"; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 64 24; + max: 64 24; + rel1.to_x: "insidep0"; + rel1.to_y: "bar"; + rel1.relative: 0.0 0.0; + rel2.to_x: "insidep1"; + rel2.to_y: "bar"; + rel2.relative: 1.0 1.0; + image.normal: "inset_bar_horiz_glow_mid_base.png"; + align: 0.0 0.5; + } + description { state: "end" 0.0; + inherit: "default" 0.0; + align: 1.0 0.5; + } + } + part { name: "efl.text.status"; type: TEXT; mouse_events: 0; + scale: 1; + effect: GLOW; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "inside"; + rel2.to: "inside"; + color_class: "progress_status"; + align: 1.0 0.5; + text { font: FN; size: 10; + min: 0 1; + text_class: "progress_status"; + align: 1.0 0.5; + } + color: FN_COL_HIGHLIGHT_CLICKED; + visible: 1; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "pulse2"; + clip_to: "pulse_clip"; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 36 14; + max: 36 14; + rel1.to: "pulse"; + rel2.to: "pulse"; + image.normal: "inset_bar_horiz_glow_mid_light.png"; + color: 255 255 255 0; + } + description { state: "glow" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "light"; + clip_to: "fract_clip"; + scale: 1; + description { state: "default" 0.0; + max: 36 11; + rel1.to_x: "bar"; + rel1.to_y: "bar"; + rel1.relative: 0.0 (26/96); + rel2.to_x: "barend"; + rel2.to_y: "bar"; + rel2.relative: 0.2 ((26+44)/96); + align: 1.0 0.0; + image.normal: "inset_bar_horiz_glow_light.png"; + image.border: 0 20 0 0; + image.border_scale_by: 0.25; image.border_scale: 1; + color: 255 255 255 0; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.to_x: "barend"; + rel1.to_y: "bar"; + rel1.relative: 0.8 (26/96); + rel2.to_x: "bar"; + rel2.to_y: "bar"; + rel2.relative: 1.0 ((26+44)/96); + align: 0.0 0.0; + image.normal: "inset_bar_horiz_glow_inv_light.png"; + image.border: 20 0 0 0; + } + } + } + programs { + program { name: "inverted-on"; + signal: "efl,state,inverted,on"; source: "efl"; + action: STATE_SET "inv" 0.0; + target: "bar"; + target: "barend"; + target: "light"; + } + program { name: "inverted-off"; + signal: "efl,state,inverted,off"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + target: "barend"; + target: "light"; + } + program { name: "drag-set"; + signal: "drag,set"; source: "efl.cur.progressbar"; + script { + new a, Float:dx, Float:dy, Float:vl, st[20]; + + get_drag(PART:"efl.cur.progressbar", dx, dy); + get_state(PART:"bar", st, 19, vl); + if (!strcmp(st, "inv")) { + a = round(((1.0 - dx) * 255) / 0.2); + custom_state(PART:"light", "inv", 0.0); + } else { + a = round((dx * 255) / 0.2); + custom_state(PART:"light", "default", 0.0); + } + if (a > 255) { a = 255; } + set_state_val(PART:"light", STATE_COLOR, 255, 255, 255, a); + set_state(PART:"light", "custom", 0.0); + } + } + program { name: "pulse-mode0"; + signal: "efl,state,pulse"; source: "efl"; + action: STATE_SET "hidden" 0.0; + target: "efl.text.status"; + after: "pulse-mode1"; + } + program { name: "pulse-mode1"; + signal: "efl,state,pulse,start"; source: "efl"; + action: STATE_SET "pulse" 0.0; + target: "fract_clip"; + } + program { name: "pulse-start"; + signal: "efl,state,pulse,start"; source: "efl"; + action: STATE_SET "pulse" 0.0; + target: "pulse_clip"; + target: "fract_clip"; + after: "pulse0"; + after: "pulse0.1"; + } + program { name: "pulse0.1"; + action: STATE_SET "glow" 0.0; + transition: ACCELERATE 0.4; + target: "pulse2"; + after: "pulse0.2"; + } + program { name: "pulse0.2"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.4; + target: "pulse2"; + } + program { name: "pulse0"; + action: STATE_SET "end" 0.0; + transition: SINUSOIDAL 0.8; + target: "pulse"; + after: "pulse1"; + after: "pulse0.1"; + } + program { name: "pulse1"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.8; + target: "pulse"; + after: "pulse0"; + after: "pulse0.1"; + } + program { name: "fraction"; + signal: "efl,state,fraction"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "efl.text.status"; + after: "pulse-stop"; + } + program { name: "elmpulse-stop"; + signal: "efl,state,pulse,stop"; source: "efl"; + action: ACTION_STOP; + target: "pulse0"; + target: "pulse1"; + after: "pulse-stop"; + } + program { name: "pulse-stop"; + action: STATE_SET "default" 0.0; + target: "pulse_clip"; + } + program { name: "units-visible"; + signal: "efl,state,units,visible"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "efl.text.status"; + } + program { name: "units-hidden"; + signal: "efl,state,units,hidden"; source: "efl"; + action: STATE_SET "hidden" 0.0; + target: "efl.text.status"; + } + program { name: "text-visible"; + signal: "efl,state,text,set"; source: "efl"; + script { + new m = get_int(slmode); + m |= LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "text-hidden"; + signal: "efl,state,text,unset"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "icon-visible"; + signal: "efl,state,content,set"; source: "efl"; + script { + new m = get_int(slmode); + m |= ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "icon-hidden"; + signal: "efl,state,content,unset"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "state-disabled"; + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "state-enabled"; + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef UNITS +#undef DISABLE } group { "efl/progressbar/vertical"; - inherit: "elm/progressbar/vertical/default"; + images.image: "inset_bar_vert_base.png" COMP; + images.image: "inset_bar_vert_light.png" COMP; + images.image: "inset_bar_vert_inside_base.png" COMP; + images.image: "inset_bar_vert_inside_light.png" COMP; + images.image: "inset_bar_vert_glow_base.png" COMP; + images.image: "inset_bar_vert_glow_light.png" COMP; + images.image: "inset_bar_vert_glow_inv_base.png" COMP; + images.image: "inset_bar_vert_glow_inv_light.png" COMP; + images.image: "inset_bar_vert_glow_mid_base.png" COMP; + images.image: "inset_bar_vert_glow_mid_light.png" COMP; +#define ICON 1 +#define LABEL 2 +#define DISABLE 4 + script { + public slmode; + public eval_mode(m) { + new ic = m & ICON; + new l = m & LABEL; + new d = m & DISABLE; + if (l) { + if (!d) { + set_state(PART:"efl.text", "visible", 0.0); + } else { + set_state(PART:"efl.text", "disabled_visible", 0.0); + } + } else { + set_state(PART:"efl.text", "default", 0.0); + } + if (ic) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + } + if (!d) { + set_state(PART:"dis_clip", "default", 0.0); + } else { + set_state(PART:"dis_clip", "disabled", 0.0); + } + } + } + parts { + part { name: "dis_clip"; type: RECT; + description { state: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "pulse_clip"; type: RECT; + description { state: "default" 0.0; + rel1.relative: -2.0 -2.0; + rel2.relative: 3.0 3.0; + visible: 0; + } + description { state: "pulse" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "fract_clip"; type: RECT; + description { state: "default" 0.0; + rel1.relative: -2.0 -2.0; + rel2.relative: 3.0 3.0; + } + description { state: "pulse" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "efl.content"; type: SWALLOW; + clip_to: "dis_clip"; + required; + description { state: "default" 0.0; + visible: 0; + align: 0.5 0.0; + fixed: 0 1; + rel1.offset: 2 0; + rel2.offset: -3 -1; + rel2.relative: 1.0 0.0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; aspect_preference: HORIZONTAL; + rel1.offset: 2 2; + rel2.offset: -3 2; + } + } + part { name: "sizer_content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "progressbar_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + part { name: "efl.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + required; + description { state: "default" 0.0; + fixed: 1 1; + align: 0.5 0.0; + rel1.to_y: "efl.content"; + rel1.relative: 0.0 1.0; + rel1.offset: 2 -1; + rel2.to_y: "efl.content"; + rel2.relative: 1.0 1.0; + rel2.offset: -3 -1; + color: FN_COL_DEFAULT; + color_class: "progressbar_text"; + text { font: FN; size: 10; + text_class: "progressbar"; + min: 0 0; + align: 0.5 0.0; + } + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + fixed: 0 1; + visible: 1; + rel1.offset: 2 2; + rel2.offset: -3 2; + text.min: 1 1; + text.ellipsis: -1; + } + description { state: "disabled_visible" 0.0; + inherit: "visible" 0.0; + color_class: "progressbar_text_disabled"; + color: FN_COL_DISABLE_LIGHTER_SHADOW; + } + } + part { name: "bg-hi"; + description { state: "default" 0.0; + rel1.to: "bg"; + rel1.offset: 0 1; + rel2.to: "bg"; + rel2.offset: -1 0; + image.normal: "inset_bar_vert_light.png"; + image.border: 0 0 32 32; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "bg"; + scale: 1; + description { state: "default" 0.0; + min: 16 16; + max: 16 -1; + rel1.to_y: "efl.text"; + rel1.relative: 0.0 1.0; + rel1.offset: 3 3; + rel2.offset: -4 -4; + image.normal: "inset_bar_vert_base.png"; + image.border: 0 0 32 32; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "ins0"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + rel1.to: "bg"; + rel2.to: "bg"; + rel2.relative: 1.0 0.0; + min: 16 5; + align: 0.5 0.0; + } + } + part { name: "ins1"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + rel1.to: "bg"; + rel1.relative: 0.0 1.0; + rel2.to: "bg"; + min: 16 5; + align: 0.5 1.0; + } + } + part { name: "inside-hi"; + scale: 1; + description { state: "default" 0.0; + rel1.to: "inside"; + rel1.offset: 0 1; + rel2.to: "inside"; + rel2.offset: -1 0; + image.normal: "inset_bar_vert_inside_light.png"; + image.border: 0 0 8 8; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "inside"; + scale: 1; + description { state: "default" 0.0; + min: 4 4; + rel1.to: "ins0"; + rel1.relative: (6/16) 1.0; + rel2.to: "ins1"; + rel2.relative: (10/16) 0.0; + image.normal: "inset_bar_vert_inside_base.png"; + image.border: 0 0 8 8; + image.border_scale_by: 0.25; image.border_scale: 1; + } + } + part { name: "efl.bar"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "inside"; + rel2.to: "inside"; + } + } + part { name: "efl.cur.progressbar"; mouse_events: 0; type: SPACER; + scale: 1; + dragable.confine: "inside"; + dragable.x: 0 0 0; + dragable.y: 1 1 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 4 8; + max: 4 8; + rel1.to: "inside"; + rel2.to: "inside"; + } + } + part { name: "barend"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + min: 16 14; + rel1.to_y: "efl.cur.progressbar"; + rel1.relative: 0.0 1.0; + rel2.to_y: "efl.cur.progressbar"; + rel2.relative: 1.0 1.0; + align: 0.5 0.0; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 0.0; + align: 0.5 1.0; + } + } + part { name: "bar"; + clip_to: "fract_clip"; + scale: 1; + description { state: "default" 0.0; + rel1.to_y: "ins0"; + rel1.to_x: "bg"; + rel1.relative: -0.25 (12/16); + rel2.to_y: "barend"; + rel2.to_x: "bg"; + rel2.relative: 1.25 1.0; + image.normal: "inset_bar_vert_glow_base.png"; + image.border: 0 0 0 72; + image.border_scale_by: 0.25; image.border_scale: 1; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.to_y: "barend"; + rel1.relative: -0.25 0.0; + rel2.to_y: "ins1"; + rel2.relative: 1.25 (4/16); + image.normal: "inset_bar_vert_glow_inv_base.png"; + image.border: 0 0 72 0; + } + } + part { name: "insidep0"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + min: 16 20; + rel1.to_y: "inside"; + rel1.relative: 0.0 0.0; + rel2.to_y: "inside"; + rel2.relative: 1.0 0.0; + align: 0.5 1.0; + } + } + part { name: "insidep1"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + min: 16 20; + rel1.to_y: "inside"; + rel1.relative: 0.0 1.0; + rel2.to_y: "inside"; + rel2.relative: 1.0 1.0; + align: 0.5 0.0; + } + } + part { name: "pulse"; + clip_to: "pulse_clip"; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 24 64; + max: 24 64; + rel1.to_y: "insidep0"; + rel1.to_x: "bar"; + rel1.relative: 0.0 0.0; + rel2.to_y: "insidep1"; + rel2.to_x: "bar"; + rel2.relative: 1.0 1.0; + image.normal: "inset_bar_vert_glow_mid_base.png"; + align: 0.5 0.0; + } + description { state: "end" 0.0; + inherit: "default" 0.0; + align: 0.5 1.0; + } + } + part { name: "statbox"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "inside"; + rel2.to: "inside"; + aspect: 1.0 1.0; aspect_preference: NONE; + } + } + part { name: "efl.text.status"; type: TEXT; mouse_events: 0; + scale: 1; + effect: GLOW; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "statbox"; + rel2.to: "statbox"; + color_class: "progress_status"; + align: 1.0 0.5; + text { font: FN; size: 10; + min: 0 1; + text_class: "progress_status"; + align: 1.0 0.5; + } + color: FN_COL_HIGHLIGHT_CLICKED; + visible: 1; + map.on: 1; + map.smooth: 0; + map.rotation.center: "statbox"; + map.rotation.z: 90; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "pulse2"; + clip_to: "pulse_clip"; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 14 36; + max: 14 36; + rel1.to: "pulse"; + rel2.to: "pulse"; + image.normal: "inset_bar_vert_glow_mid_light.png"; + color: 255 255 255 0; + } + description { state: "glow" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "light"; + clip_to: "fract_clip"; + scale: 1; + description { state: "default" 0.0; + max: 11 36; + rel1.to_y: "bar"; + rel1.to_x: "bar"; + rel1.relative: (26/96) 0.0; + rel2.to_y: "barend"; + rel2.to_x: "bar"; + rel2.relative: ((26+44)/96) 0.2; + align: 0.0 1.0; + image.normal: "inset_bar_vert_glow_light.png"; + image.border: 0 0 0 20; + image.border_scale_by: 0.25; image.border_scale: 1; + color: 255 255 255 0; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.to_y: "barend"; + rel1.to_x: "bar"; + rel1.relative: (26/96) 0.8; + rel2.to_y: "bar"; + rel2.to_x: "bar"; + rel2.relative: ((26+44)/96) 1.0; + align: 0.0 0.0; + image.normal: "inset_bar_vert_glow_inv_light.png"; + image.border: 0 0 20 0; + } + } + } + programs { + program { name: "inverted-on"; + signal: "efl,state,inverted,on"; source: "efl"; + action: STATE_SET "inv" 0.0; + target: "bar"; + target: "barend"; + target: "light"; + } + program { name: "inverted-off"; + signal: "efl,state,inverted,off"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + target: "barend"; + target: "light"; + } + program { name: "drag-set"; + signal: "drag,set"; source: "efl.cur.progressbar"; + script { + new a, Float:dx, Float:dy, Float:vl, st[20]; + + get_drag(PART:"efl.cur.progressbar", dx, dy); + get_state(PART:"bar", st, 19, vl); + if (!strcmp(st, "inv")) { + a = round(((1.0 - dy) * 255) / 0.2); + custom_state(PART:"light", "inv", 0.0); + } else { + a = round((dy * 255) / 0.2); + custom_state(PART:"light", "default", 0.0); + } + if (a > 255) { a = 255; } + set_state_val(PART:"light", STATE_COLOR, 255, 255, 255, a); + set_state(PART:"light", "custom", 0.0); + } + } + program { name: "pulse-mode0"; + signal: "efl,state,pulse"; source: "efl"; + action: STATE_SET "hidden" 0.0; + target: "efl.text.status"; + after: "pulse-mode1"; + } + program { name: "pulse-mode1"; + signal: "efl,state,pulse,start"; source: "efl"; + action: STATE_SET "pulse" 0.0; + target: "fract_clip"; + } + program { name: "pulse-start"; + signal: "efl,state,pulse,start"; source: "efl"; + action: STATE_SET "pulse" 0.0; + target: "pulse_clip"; + target: "fract_clip"; + after: "pulse0"; + after: "pulse0.1"; + } + program { name: "pulse0.1"; + action: STATE_SET "glow" 0.0; + transition: ACCELERATE 0.4; + target: "pulse2"; + after: "pulse0.2"; + } + program { name: "pulse0.2"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.4; + target: "pulse2"; + } + program { name: "pulse0"; + action: STATE_SET "end" 0.0; + transition: SINUSOIDAL 0.8; + target: "pulse"; + after: "pulse1"; + after: "pulse0.1"; + } + program { name: "pulse1"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.8; + target: "pulse"; + after: "pulse0"; + after: "pulse0.1"; + } + program { name: "fraction"; + signal: "efl,state,fraction"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "efl.text.status"; + after: "pulse-stop"; + } + program { name: "elmpulsestop"; + signal: "efl,state,pulse,stop"; source: "efl"; + action: ACTION_STOP; + target: "pulse0"; + target: "pulse1"; + after: "pulse-stop"; + } + program { name: "pulse-stop"; + action: STATE_SET "default" 0.0; + target: "pulse_clip"; + } + program { name: "unit-visible"; + signal: "efl,state,units,visible"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "efl.text.status"; + } + program { name: "unit-hidden"; + signal: "efl,state,units,hidden"; source: "efl"; + action: STATE_SET "hidden" 0.0; + target: "efl.text.status"; + } + program { name: "text-visible"; + signal: "efl,state,text,set"; source: "efl"; + script { + new m = get_int(slmode); + m |= LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "text-hidden"; + signal: "efl,state,text,unset"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~LABEL; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "icon-visible"; + signal: "efl,state,content,set"; source: "efl"; + script { + new m = get_int(slmode); + m |= ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "icon-hidden"; + signal: "efl,state,content,unset"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~ICON; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "elmdisabled"; + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { name: "elmenabled"; + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef UNITS +#undef DISABLE } group { "efl/progressbar/horizontal:wheel"; - inherit: "elm/progressbar/horizontal/wheel"; alias: "efl/progressbar/vertical:wheel"; + images.image: "knob_round_busy.png" COMP; + images.image: "glow_round_corners.png" COMP; + parts { + part { name: "efl.bar" ; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + min: 0 0; + max: 0 0; + visible: 0; + } + } + part { name: "efl.content"; type: SWALLOW; + description { state: "default" 0.0; + min: 0 0; + max: 0 0; + visible: 0; + } + } + part { name: "busy_clip"; type: RECT; + description { state: "default" 0.0; + visible: 0; + color: 255 255 255 0; + } + description { state: "active" 0.0; + visible: 1; + color: 255 255 255 255; + } + } + part { name: "knob"; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + image.normal: "knob_round_busy.png"; + min: 40 40; + max: 40 40; + } + } + part { name: "knob_spinner"; mouse_events: 0; + clip_to: "busy_clip"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "knob"; + rel2.to: "knob"; + image.normal: "glow_round_corners.png"; + map.on: 1; + map.smooth: 1; + map.rotation.center: "knob"; + } + description { state: "spin" 0.0; + inherit: "default" 0.0; + map.rotation.z: 360; + } + } + } + programs { + program { name: "spin"; + signal: "efl,state,pulse,start"; source: "efl"; + action: STATE_SET "spin" 0.0; + transition: LINEAR 1.0; + target: "knob_spinner"; + after: "spin2"; + } + program { name: "spin2"; + action: STATE_SET "default" 0.0; + target: "knob_spinner"; + after: "spin"; + } + program { + signal: "efl,state,pulse,start"; source: "efl"; + action: STATE_SET "active" 0.0; + transition: SINUSOIDAL 0.25; + target: "busy_clip"; + } + program { + signal: "efl,state,pulse,stop"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 1.0; + target: "busy_clip"; + after: "spin3"; + } + program { name: "spin3"; + action: ACTION_STOP; + target: "spin"; + target: "spin2"; + after: "spin4"; + } + program { name: "spin4"; + action: STATE_SET "default" 0.0; + target: "knob_spinner"; + } + } } group { "efl/progressbar/horizontal:double"; - inherit: "elm/progressbar/horizontal/double"; + inherit: "efl/progressbar/horizontal"; + images { + image: "inset_bar_horiz_glow_base_double.png" COMP; + image: "inset_bar_horiz_glow_inv_base_double.png" COMP; + } + parts { + part { name: "efl.cur.progressbar1"; mouse_events: 0; type: SPACER; + insert_after: "inside"; + scale: 1; + dragable.confine: "inside"; + dragable.x: 1 1 1; + dragable.y: 0 0 0; + description { state: "default" 0.0; + fixed: 1 1; + min: 8 4; + max: 8 4; + rel1.to: "inside"; + rel2.to: "inside"; + } + } + part { name: "barend1"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + min: 14 16; + rel1.to_x: "efl.cur.progressbar1"; + rel1.relative: 1.0 0.0; + rel2.to_x: "efl.cur.progressbar1"; + rel2.relative: 1.0 1.0; + align: 0.0 0.5; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 1.0; + align: 1.0 0.5; + } + } + part { name: "bar1"; + insert_after: "barend"; + clip_to: "fract_clip"; + scale: 1; + description { state: "default" 0.0; + rel1.to_x: "ins0"; + rel1.to_y: "bg"; + rel1.relative: (12/16) -0.25; + rel2.to_x: "barend1"; + rel2.to_y: "bg"; + rel2.relative: 1.0 1.25; + image.normal: "inset_bar_horiz_glow_base_double.png"; + image.border: 0 72 0 0; + image.border_scale_by: 0.25; image.border_scale: 1; + color: 51 153 255 128; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.to_x: "barend"; + rel1.relative: 0.0 -0.25; + rel2.to_x: "ins1"; + rel2.relative: (4/16) 1.25; + image.normal: "inset_bar_horiz_glow_inv_base_double.png"; + image.border: 72 0 0 0; + } + } + } + programs { + program { name: "inverted-on"; + signal: "efl,state,inverted,on"; source: "efl"; + action: STATE_SET "inv" 0.0; + target: "bar"; + target: "bar1"; + target: "barend"; + target: "barend1"; + target: "light"; + } + program + { name: "inverted-off"; + signal: "efl,state,inverted,off"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + target: "bar1"; + target: "barend"; + target: "barend1"; + target: "light"; + } + } } group { "efl/progressbar/vertical:double"; - inherit: "elm/progressbar/vertical/double"; + inherit: "efl/progressbar/vertical"; + images { + image: "inset_bar_vert_glow_base_double.png" COMP; + image: "inset_bar_vert_glow_inv_base_double.png" COMP; + } + parts { + part { name: "efl.cur.progressbar1"; mouse_events: 0; type: SPACER; + insert_after: "inside"; + scale: 1; + dragable.confine: "inside"; + dragable.x: 0 0 0; + dragable.y: 1 1 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 4 8; + max: 4 8; + rel1.to: "inside"; + rel2.to: "inside"; + } + } + part { name: "barend1"; type: SPACER; + scale: 1; + description { state: "default" 0.0; + fixed: 0 1; + min: 16 14; + rel1.to_y: "efl.cur.progressbar1"; + rel1.relative: 0.0 1.0; + rel2.to_y: "efl.cur.progressbar1"; + rel2.relative: 1.0 1.0; + align: 0.5 0.0; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 0.0; + align: 0.5 1.0; + } + } + part { name: "bar1"; + insert_after: "barend"; + clip_to: "fract_clip"; + scale: 1; + description { state: "default" 0.0; + rel1.to_y: "ins0"; + rel1.to_x: "bg"; + rel1.relative: -0.25 (12/16); + rel2.to_y: "barend1"; + rel2.to_x: "bg"; + rel2.relative: 1.25 1.0; + image.normal: "inset_bar_vert_glow_base_double.png"; + image.border: 0 0 0 72; + image.border_scale_by: 0.25; image.border_scale: 1; + color: 51 153 255 128; + } + description { state: "inv" 0.0; + inherit: "default" 0.0; + rel1.to_y: "barend1"; + rel1.relative: -0.25 0.0; + rel2.to_y: "ins1"; + rel2.relative: 1.25 (4/16); + image.normal: "inset_bar_vert_glow_inv_base_double.png"; + image.border: 0 0 72 0; + } + } + } + programs { + program { name: "inverted-on"; + signal: "efl,state,inverted,on"; source: "efl"; + action: STATE_SET "inv" 0.0; + target: "bar"; + target: "barend"; + target: "light"; + target: "bar1"; + target: "barend1"; + } + program { name: "inverted-off"; + signal: "efl,state,inverted,off"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "bar"; + target: "barend"; + target: "light"; + target: "bar1"; + target: "barend1"; + } + } } diff --git a/data/elementary/themes/edc/efl/radio.edc b/data/elementary/themes/edc/efl/radio.edc index 5c6dc64aa3..962655c57a 100644 --- a/data/elementary/themes/edc/efl/radio.edc +++ b/data/elementary/themes/edc/efl/radio.edc @@ -1,3 +1,292 @@ group { "efl/radio"; - inherit: "elm/radio/base/default"; + images.image: "inset_shadow_circle_tiny.png" COMP; + images.image: "inset_circle_tiny.png" COMP; + images.image: "sym_radio_alum.png" COMP; +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 + script { + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"inset", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"inset", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"inset", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "visible", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); + set_state(PART:"efl.text", "disabled", 0.0); + set_state(PART:"inset", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "visible", 0.0); + set_state(PART:"inset", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "disabled_visible", 0.0); + set_state(PART:"inset", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else { + if (!d) { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"inset", "default", 0.0); + set_state(PART:"clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"efl.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"inset", "disabled", 0.0); + set_state(PART:"clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } + } + } + parts { + part { name: "inset"; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + rel1.offset: 2 2; + rel2.relative: 0.0 1.0; + rel2.offset: 2 -3; + image.normal: "inset_shadow_circle_tiny.png"; + align: 0.0 0.5; + min: 13 13; + max: 13 13; + fixed: 1 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "inset_circle_tiny.png"; + } + } + part { name: "indicator"; mouse_events: 0; + scale: 1; + clip_to: "clip"; + description { state: "default" 0.0; + rel1.to: "inset"; + rel2.to: "inset"; + image.normal: "sym_radio_alum.png"; + min: 11 11; + max: 11 11; + visible: 0; + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "clip"; type: RECT; + description { state: "default" 0.0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + } + part { name: "efl.content"; type: SWALLOW; + required; + scale: 1; + clip_to: "clip"; + description { state: "default" 0.0; + fixed: 1 0; + visible: 0; + align: 0.0 0.5; + max: 0 0; + rel1.to_x: "inset"; + rel1.relative: 1.0 0.0; + rel1.offset: 1 1; + rel2.to_x: "inset"; + rel2.offset: 1 -2; + rel2.relative: 1.0 1.0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + aspect: 1.0 1.0; + min: 16 16; + } + } + part { name: "sizer_content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "radio_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + description { state: "icononly" 0.0; + inherit: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + part { name: "efl.text"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; + scale: 1; + required; + description { state: "default" 0.0; + rel1.offset: 2 2; + rel1.to_x: "efl.content"; + rel1.relative: 1.0 0.0; + rel2.offset: -3 -3; + color: FN_COL_DEFAULT; + color_class: "radio_text"; + text { font: FN; size: 10; + min: 0 0; + align: 0.0 0.5; + text_class: "radio"; + } + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color_class: "radio_text_disabled"; + color3: 255 255 255 255; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + text.min: 1 1; + text.ellipsis: -1; + } + description { state: "disabled_visible" 0.0; + inherit: "default" 0.0; + color_class: "radio_text_disabled"; + color3: 255 255 255 255; + visible: 1; + text.min: 1 1; + text.ellipsis: -1; + } + } + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { + signal: "mouse,clicked,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,radio,toggle" "efl"; + } + program { + signal: "efl,state,radio,on"; source: "efl"; + action: STATE_SET "selected" 0.0; + target: "indicator"; + } + program { + signal: "efl,state,radio,off"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "indicator"; + } + program { + signal: "efl,state,text,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,text,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,content,set"; source: "efl"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,content,unset"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE } diff --git a/data/elementary/themes/edc/efl/scroller.edc b/data/elementary/themes/edc/efl/scroller.edc index e0d81482c0..56265262b0 100644 --- a/data/elementary/themes/edc/efl/scroller.edc +++ b/data/elementary/themes/edc/efl/scroller.edc @@ -1,12 +1,1334 @@ -group { "efl/scroller"; - inherit: "elm/scroller/base/default"; +group { name: "efl/scroller"; + images.image: "inset_shadow.png" COMP; + images.image: "bevel_in.png" COMP; + images.image: "bevel_out.png" COMP; + images.image: "runner_horiz.png" COMP; + images.image: "runner_vert.png" COMP; + images.image: "runner_glow_horiz.png" COMP; + images.image: "runner_glow_vert.png" COMP; + images.image: "holes_tiny_horiz.png" COMP; + images.image: "holes_tiny_vert.png" COMP; + images.image: "holes_tiny_glow_horiz.png" COMP; + images.image: "holes_tiny_glow_vert.png" COMP; + images.image: "vgrad_med_lighter.png" COMP; + images.image: "shadow_square_tiny.png" COMP; + images.image: "glow_small.png" COMP; + images.image: "sym_left_light_normal.png" COMP; + images.image: "sym_right_light_normal.png" COMP; + images.image: "sym_up_light_normal.png" COMP; + images.image: "sym_down_light_normal.png" COMP; + images.image: "sym_left_glow_normal.png" COMP; + images.image: "sym_right_glow_normal.png" COMP; + images.image: "sym_up_glow_normal.png" COMP; + images.image: "sym_down_glow_normal.png" COMP; + images.image: "sym_up_dark_normal.png" COMP; + images.image: "sym_down_dark_normal.png" COMP; + images.image: "sym_left_dark_normal.png" COMP; + images.image: "sym_right_dark_normal.png" COMP; + + + data.item: "focus_highlight" "on"; + + script { + public loop_x, loop_y; + public action_on_pos_vbar(val) { + new x, y , w, h, x1, y1 , w1, h1; + + get_geometry(PART:"y_vbar_up", x,y,w, h); + get_geometry(PART:"y_vbar_up_mapper", x1,y1,w1, h1); + + if(((y1 <= y) && (y <= (y1 + h1))) && (0 == get_int(loop_y))) + { + set_state(PART:"arrow1_vbar", "hidden", 0.0); + set_state(PART:"sb_vbar_a1", "hidden", 0.0); + } + else + { + set_state(PART:"arrow1_vbar", "default", 0.0); + set_state(PART:"sb_vbar_a1", "default", 0.0); + } + + get_geometry(PART:"y_vbar_down", x,y,w, h); + get_geometry(PART:"y_vbar_down_mapper", x1,y1,w1, h1); + + if(((y1 <= (y + h)) && ((y+ h) <= (y1 + h1))) && (0 == get_int(loop_y))) + { + set_state(PART:"arrow2_vbar", "hidden", 0.0); + set_state(PART:"sb_vbar_a2", "hidden", 0.0); + } + else + { + set_state(PART:"arrow2_vbar", "default", 0.0); + set_state(PART:"sb_vbar_a2", "default", 0.0); + } + + if(val < 10) + timer(0.1,"action_on_pos_vbar", val+1); + } + + public action_on_pos_hbar(val) { + new x, y , w, h, x1, y1 , w1, h1; + + get_geometry(PART:"x_hbar_left", x,y,w, h); + get_geometry(PART:"x_hbar_left_mapper", x1,y1,w1, h1); + + if(((x1 <= x) && (x <= (x1 + w1))) && (0 == get_int(loop_x))) + { + set_state(PART:"arrow1_hbar", "hidden", 0.0); + set_state(PART:"sb_hbar_a1", "hidden", 0.0); + } + else + { + set_state(PART:"arrow1_hbar", "default", 0.0); + set_state(PART:"sb_hbar_a1", "default", 0.0); + } + + get_geometry(PART:"x_hbar_right", x,y,w, h); + get_geometry(PART:"x_hbar_right_mapper", x1,y1,w1, h1); + + if(((x1 <= (x + w)) && ((x + w) <= (x1 + w1))) && (0 == get_int(loop_x))) + { + set_state(PART:"arrow2_hbar", "hidden", 0.0); + set_state(PART:"sb_hbar_a2", "hidden", 0.0); + } + else + { + set_state(PART:"arrow2_hbar", "default", 0.0); + set_state(PART:"sb_hbar_a2", "default", 0.0); + } + + if(val < 10) + timer(0.1,"action_on_pos_hbar", val+1); + } + } + + parts { + program { + signal: "load"; source: ""; + script { + emit("reload", "efl"); + action_on_pos_vbar(0); + action_on_pos_hbar(0); + } + } +// vert bar //////////////////////////////////////////////////////////////// + part { name: "sb_vbar_show"; type: RECT; + description { state: "default" 0.0; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "sb_vbar"; type: RECT; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 15 1; + align: 1.0 0.0; + rel1.relative: 1.0 0.0; + rel1.offset: -1 0; + rel2.relative: 1.0 0.0; + rel2.to_y: "sb_hbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 99999; + } + } + part { name: "sb_vbar_base"; type: RECT; + clip_to: "sb_vbar"; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 0.0 1.0; + rel1.to: "sb_vbar_a1"; + rel2.relative: 1.0 0.0; + rel2.to: "sb_vbar_a2"; + fixed: 1 1; + } + } + part { name: "sb_vbar_p1"; type: RECT; + clip_to: "sb_vbar"; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 0.0 1.0; + rel1.to: "sb_vbar_a1"; + rel2.relative: 1.0 0.0; + rel2.to: "efl.dragable.vbar"; + fixed: 1 1; + } + } + part { name: "sb_vbar_p2"; type: RECT; + clip_to: "sb_vbar"; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 0.0 1.0; + rel1.to: "efl.dragable.vbar"; + rel2.relative: 1.0 0.0; + rel2.to: "sb_vbar_a2"; + fixed: 1 1; + } + } + part { name: "efl.dragable.vbar"; type: RECT; + clip_to: "sb_vbar"; + scale: 1; + dragable.x: 0 0 0; + dragable.y: 1 1 0; + dragable.confine: "sb_vbar_base"; + description { state: "default" 0.0; + fixed: 1 1; + min: 15 13; + rel1.relative: 0.5 0.5; + rel1.to: "sb_vbar_base"; + rel2.relative: 0.5 0.5; + rel2.to: "sb_vbar_base"; + color: 0 0 0 0; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "y_vbar_up_mapper"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 4 2; + max: 4 2; + fixed: 1 1; + align: 0.0 0.0; + rel1.to: "sb_vbar_base"; + rel2.to: "sb_vbar_base"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "y_vbar_up"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 4 2; + max: 4 2; + fixed: 1 1; + align: 0.0 0.0; + rel1.to: "efl.dragable.vbar"; + rel2.to: "efl.dragable.vbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "y_vbar_down_mapper"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 4 2; + max: 4 2; + fixed: 1 1; + align: 0.0 1.0; + rel1.to: "sb_vbar_base"; + rel2.to: "sb_vbar_base"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "y_vbar_down"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 4 2; + max: 4 2; + fixed: 1 1; + align: 0.0 1.0; + rel1.to: "efl.dragable.vbar"; + rel2.to: "efl.dragable.vbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "sb_vbar_a1"; type: RECT; + clip_to: "sb_vbar"; + description { state: "default" 0.0; + fixed: 1 1; + min: 15 15; + align: 0.5 0.0; + aspect: 1.0 1.0; aspect_preference: HORIZONTAL; + color: 0 0 0 0; + rel1.to: "sb_vbar"; + rel2.to: "sb_vbar"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 0; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + visible: 0; + } + } + part { name: "sb_vbar_a2"; type: RECT; + clip_to: "sb_vbar"; + description { state: "default" 0.0; + fixed: 1 1; + min: 15 15; + align: 0.5 1.0; + aspect: 1.0 1.0; aspect_preference: HORIZONTAL; + color: 0 0 0 0; + rel1.to: "sb_vbar"; + rel1.offset: 0 -1; + rel1.relative: 0.0 1.0; + rel2.to: "sb_vbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + visible: 0; + } + } + program { + signal: "efl,action,show,vbar"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "sb_vbar"; + target: "sb_vbar_show"; + target: "efl.dragable.vbar"; + target: "sb_vbar_a1"; + target: "sb_vbar_a2"; + target: "y_vbar_up_mapper"; + target: "y_vbar_up"; + target: "y_vbar_down_mapper"; + target: "y_vbar_down"; + target: "arrow1_vbar_indent"; + target: "arrow2_vbar_indent"; + after: "check_pos_vbar"; + } + program { + signal: "efl,action,hide,vbar"; source: "efl"; + action: STATE_SET "hidden" 0.0; + target: "sb_vbar"; + target: "sb_vbar_show"; + target: "efl.dragable.vbar"; + target: "sb_vbar_a1"; + target: "sb_vbar_a2"; + target: "y_vbar_up_mapper"; + target: "y_vbar_up"; + target: "y_vbar_down_mapper"; + target: "y_vbar_down"; + target: "arrow1_vbar_indent"; + target: "arrow2_vbar_indent"; + } + program { + signal: "mouse,down,1*"; source: "sb_vbar_a1";//ok + action: STATE_SET "clicked" 0.0; + target: "arrow1_vbar"; + after: "anim1_up"; + } + program { name: "anim1_up"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.1; + target: "arrow1_vbar"; + after: "drag_up"; + } + program { name: "drag_up"; + action: DRAG_VAL_STEP 0.0 -1.0; + target: "efl.dragable.vbar"; + } + program { + signal: "mouse,down,1*"; source: "sb_vbar_a2";//ok + action: STATE_SET "clicked" 0.0; + target: "arrow2_vbar"; + after: "anim1_down"; + } + program { name: "anim1_down"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.1; + target: "arrow2_vbar"; + after: "drag_down"; + } + program { name: "drag_down"; + action: DRAG_VAL_STEP 0.0 1.0; + target: "efl.dragable.vbar"; + } + program { + signal: "mouse,down,1*"; source: "sb_vbar_p1"; + action: DRAG_VAL_PAGE 0.0 -1.0; + target: "efl.dragable.vbar"; + } + program { + signal: "mouse,down,1*"; source: "sb_vbar_p2"; + action: DRAG_VAL_PAGE 0.0 1.0; + target: "efl.dragable.vbar"; + } + program { + signal: "efl,action,scroll"; source: "efl"; + script { + action_on_pos_vbar(10); + } + } + program { name: "check_pos_vbar"; + script { + action_on_pos_vbar(10); + } + } + program { name: "loop_set_vbar"; + signal: "efl,loop_y,set"; source: "efl"; + script { + set_int(loop_y, 1); + action_on_pos_vbar(10); + } + } + program { name: "loop_unset_vbar"; + signal: "efl,loop_y,unset"; source: "efl"; + script { + set_int(loop_y, 0); + action_on_pos_vbar(10); + } + } + +// horiz bar ///////////////////////////////////////////////////////////// + part { name: "sb_hbar_show"; type: RECT; + description { state: "default" 0.0; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "sb_hbar"; type: RECT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + min: 1 15; + align: 0.0 1.0; + rel1.relative: 0.0 1.0; + rel1.offset: 0 -1; + rel2.relative: 0.0 1.0; + rel2.to_x: "sb_vbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 99999 0; + } + } + part { name: "sb_hbar_base"; type: RECT; + clip_to: "sb_hbar"; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 1.0 0.0; + rel1.to: "sb_hbar_a1"; + rel2.relative: 0.0 1.0; + rel2.to: "sb_hbar_a2"; + fixed: 1 1; + } + } + part { name: "sb_hbar_p1"; type: RECT; + clip_to: "sb_hbar"; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 1.0 0.0; + rel1.to: "sb_hbar_a1"; + rel2.relative: 0.0 1.0; + rel2.to: "efl.dragable.hbar"; + fixed: 1 1; + } + } + part { name: "sb_hbar_p2"; type: RECT; + clip_to: "sb_hbar"; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 1.0 0.0; + rel1.to: "efl.dragable.hbar"; + rel2.relative: 0.0 1.0; + rel2.to: "sb_hbar_a2"; + fixed: 1 1; + } + } + part { name: "efl.dragable.hbar"; type: RECT; + clip_to: "sb_hbar"; + scale: 1; + dragable.x: 1 1 0; + dragable.y: 0 0 0; + dragable.confine: "sb_hbar_base"; + description { state: "default" 0.0; + fixed: 1 1; + min: 13 15; + rel1.relative: 0.5 0.5; + rel1.to: "sb_hbar_base"; + rel2.relative: 0.5 0.5; + rel2.to: "sb_hbar_base"; + color: 0 0 0 0; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "x_hbar_left_mapper"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 2 4; + max: 2 4; + fixed: 1 1; + align: 0.0 1.0; + rel1.to: "sb_hbar_base"; + rel2.to: "sb_hbar_base"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "x_hbar_left"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 2 4; + max: 2 4; + fixed: 1 1; + align: 0.0 1.0; + rel1.to: "efl.dragable.hbar"; + rel2.to: "efl.dragable.hbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "x_hbar_right_mapper"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 2 4; + max: 2 4; + fixed: 1 1; + align: 1.0 1.0; + rel1.to: "sb_hbar_base"; + rel2.to: "sb_hbar_base"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "x_hbar_right"; type: SPACER; + scale: 1; + repeat_events: 1; + description { state: "default" 0.0; + min: 2 4; + max: 2 4; + fixed: 1 1; + align: 1.0 1.0; + rel1.to: "efl.dragable.hbar"; + rel2.to: "efl.dragable.hbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + max: 0 0; + } + } + part { name: "sb_hbar_a1"; type: RECT; + clip_to: "sb_hbar"; + description { state: "default" 0.0; + fixed: 1 1; + min: 15 15; + align: 0.0 0.5; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + color: 0 0 0 0; + rel1.to: "sb_hbar"; + rel2.to: "sb_hbar"; + rel2.relative: 0.0 1.0; + rel2.offset: 0 -1; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + visible: 0; + } + } + part { name: "sb_hbar_a2"; type: RECT; + clip_to: "sb_hbar"; + description { state: "default" 0.0; + fixed: 1 1; + min: 15 15; + align: 1.0 0.5; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + color: 0 0 0 0; + rel1.to: "sb_hbar"; + rel1.offset: -1 0; + rel1.relative: 1.0 0.0; + rel2.to: "sb_hbar"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 0; + visible: 0; + } + } + program { + signal: "efl,action,show,hbar"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "sb_hbar"; + target: "sb_hbar_show"; + target: "efl.dragable.hbar"; + target: "sb_hbar_a1"; + target: "sb_hbar_a2"; + target: "x_hbar_left_mapper"; + target: "x_hbar_left"; + target: "x_hbar_right_mapper"; + target: "x_hbar_right"; + target: "arrow1_hbar_indent"; + target: "arrow2_hbar_indent"; + after: "check_pos_hbar"; + } + program { + signal: "efl,action,hide,hbar"; source: "efl"; + action: STATE_SET "hidden" 0.0; + target: "sb_hbar"; + target: "sb_hbar_show"; + target: "efl.dragable.hbar"; + target: "sb_hbar_a1"; + target: "sb_hbar_a2"; + target: "x_hbar_left_mapper"; + target: "x_hbar_left"; + target: "x_hbar_right_mapper"; + target: "x_hbar_right"; + target: "arrow1_hbar_indent"; + target: "arrow2_hbar_indent"; + } + program { + signal: "mouse,down,1*"; source: "sb_hbar_a1"; + action: STATE_SET "clicked" 0.0; + target: "arrow1_hbar"; + after: "anim1_left"; + } + program { name: "anim1_left"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.1; + target: "arrow1_hbar"; + after: "drag_left"; + } + program { name: "drag_left"; + action: DRAG_VAL_STEP -1.0 0.0; + target: "efl.dragable.hbar"; + } + program { + signal: "mouse,down,1*"; source: "sb_hbar_a2"; + action: STATE_SET "clicked" 0.0; + target: "arrow2_hbar"; + after: "anim2_left"; + } + program { name: "anim2_left"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.1; + target: "arrow2_hbar"; + after: "drag_right"; + } + program { name: "drag_right"; + action: DRAG_VAL_STEP 1.0 0.0; + target: "efl.dragable.hbar"; + } + program { + signal: "mouse,down,1*"; source: "sb_hbar_p1"; + action: DRAG_VAL_PAGE -1.0 0.0; + target: "efl.dragable.hbar"; + after: "check_pos_hbar"; + } + program { + signal: "mouse,down,1*"; source: "sb_hbar_p2"; + action: DRAG_VAL_PAGE 1.0 0.0; + target: "efl.dragable.hbar"; + after: "check_pos_hbar"; + } + program { + signal: "efl,action,scroll"; source: "efl"; + script { + action_on_pos_hbar(10); + } + } + program { name: "check_pos_hbar"; + script { + action_on_pos_hbar(10); + } + } + program { name: "loop_set_hbar"; + signal: "efl,loop_x,set"; source: "efl"; + script { + set_int(loop_x, 1); + action_on_pos_hbar(10); + } + } + program { name: "loop_unset_hbar"; + signal: "efl,loop_x,unset"; source: "efl"; + script { + set_int(loop_x, 0); + action_on_pos_hbar(10); + } + } + part { name: "bg"; type: RECT; + description { state: "default" 0.0; + rel1.to: "efl.background"; + rel2.to: "efl.background"; +// color: 64 64 64 200; + color: 0 0 0 0; + color_class: "scroller_bg"; + } + } + part { name: "clipper"; type: RECT; + description { state: "default" 0.0; + rel1.to: "efl.background"; + rel2.to: "efl.background"; + } + } + part { name: "efl.background"; type: SWALLOW; + clip_to: "clipper"; + description { state: "default" 0.0; + rel1.offset: 1 1; + rel2.relative: 0.0 0.0; + rel2.offset: -2 -2; + rel2.to_x: "sb_vbar"; + rel2.to_y: "sb_hbar"; + } + } + part { name: "efl.content"; type: SWALLOW; + clip_to: "clipper"; + description { state: "default" 0.0; + rel1.offset: 1 1; + rel2.relative: 0.0 0.0; + rel2.offset: -2 -2; + rel2.to_x: "sb_vbar"; + rel2.to_y: "sb_hbar"; + } + } + part { name: "inset"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "bevel_in.png"; + image.border: 1 1 1 1; + image.middle: 0; + rel1.to: "bg"; + rel1.offset: -1 -1; + rel2.to: "bg"; + rel2.offset: 0 0; + fill.smooth: 0; + } + } + part { name: "shadow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "inset_shadow.png"; + image.border: 5 5 7 3; + image.middle: 0; + rel1.to: "bg"; + rel2.to: "bg"; + fill.smooth: 0; + color: 255 255 255 128; + } + } + part { name: "efl.overlay"; type: SWALLOW; + clip_to: "clipper"; + description { state: "default" 0.0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + } + } + part { name: "runner_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + image.normal: "runner_vert.png"; + image.border: 0 0 2 2; + rel1.to: "sb_vbar_base"; + rel2.to: "sb_vbar_base"; + fill.smooth: 0; + min: 3 4; + max: 3 99999; + fixed: 1 1; + } + } + part { name: "runner_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + image.normal: "runner_horiz.png"; + image.border: 2 2 0 0; + rel1.to: "sb_hbar_base"; + rel2.to: "sb_hbar_base"; + fill.smooth: 0; + min: 4 3; + max: 99999 3; + fixed: 1 1; + } + } + part { name: "runner_vbar_clip"; type: RECT; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + min: 1 1; + max: 1 99999; + rel1.to: "runner_vbar"; + rel1.offset: 0 1; + rel2.to: "runner_vbar"; + rel2.offset: -1 -2; + fixed: 1 1; + } + } + part { name: "runner_hbar_clip"; type: RECT; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + min: 1 1; + max: 99999 1; + rel1.to: "runner_hbar"; + rel1.offset: 1 0; + rel2.to: "runner_hbar"; + rel2.offset: -2 -1; + fixed: 1 1; + } + } + part { name: "arrow1_vbar_indent"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "sb_vbar_a1"; + rel2.to: "sb_vbar_a1"; + image.normal: "sym_up_dark_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "arrow1_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + rel1.to: "sb_vbar_a1"; + rel2.to: "sb_vbar_a1"; + image.normal: "sym_up_light_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + image.normal: "sym_up_glow_normal.png"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "arrow2_vbar_indent"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "sb_vbar_a2"; + rel2.to: "sb_vbar_a2"; + image.normal: "sym_down_dark_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "arrow2_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + rel1.to: "sb_vbar_a2"; + rel2.to: "sb_vbar_a2"; + image.normal: "sym_down_light_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + image.normal: "sym_down_glow_normal.png"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "shadow_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + rel1.offset: -3 -2; + rel1.to: "base_vbar"; + rel2.offset: 2 4; + rel2.to: "base_vbar"; + image.normal: "shadow_square_tiny.png"; + image.border: 6 6 6 6; + fill.smooth: 0; + fixed: 1 1; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + rel1.offset: -2 -2; + rel2.offset: 1 1; + color: 255 255 255 128; + } + } + part { name: "glow_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + rel1.offset: -3 -3; + rel1.to: "base_vbar"; + rel2.offset: 2 2; + rel2.to: "base_vbar"; + image.normal: "glow_small.png"; + image.border: 7 7 7 7; + fill.smooth: 0; + visible: 0; + fixed: 1 1; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "runner_glow_vbar"; mouse_events: 0; + clip_to: "runner_vbar_clip"; + description { state: "default" 0.0; + rel1.offset: 0 -30; + rel1.to_x: "runner_vbar_clip"; + rel1.to_y: "base_vbar"; + rel2.offset: -1 29; + rel2.to_x: "runner_vbar_clip"; + rel2.to_y: "base_vbar"; + image.normal: "runner_glow_vert.png"; + image.border: 0 0 33 33; + fixed: 1 1; + } + } + part { name: "base_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.offset: 2 0; + rel1.to: "efl.dragable.vbar"; + rel2.offset: -3 -1; + rel2.to: "efl.dragable.vbar"; + image.normal: "vgrad_med_lighter.png"; + fill.smooth: 0; + min: 3 13; + TILED_HORIZ(120) + fixed: 1 1; + color_class: "scroller_bar"; + } + } + part { name: "bevel_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + rel1.to: "base_vbar"; + rel2.to: "base_vbar"; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + min: 3 3; + fixed: 1 1; + } + } + part { name: "center_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + rel1.to: "base_vbar"; + rel2.to: "base_vbar"; + image.normal: "holes_tiny_vert.png"; + FIXED_SIZE(3, 11) + } + } + part { name: "center_glow_vbar"; mouse_events: 0; + clip_to: "sb_vbar_show"; + description { state: "default" 0.0; + rel1.to: "center_vbar"; + rel2.to: "center_vbar"; + image.normal: "holes_tiny_glow_vert.png"; + FIXED_SIZE(11, 17) + visible: 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "arrow1_hbar_indent"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "sb_hbar_a1"; + rel2.to: "sb_hbar_a1"; + image.normal: "sym_left_dark_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "arrow1_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + rel1.to: "sb_hbar_a1"; + rel2.to: "sb_hbar_a1"; + image.normal: "sym_left_light_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + image.normal: "sym_left_glow_normal.png"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "arrow2_hbar_indent"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "sb_hbar_a2"; + rel2.to: "sb_hbar_a2"; + image.normal: "sym_right_dark_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "arrow2_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + rel1.to: "sb_hbar_a2"; + rel2.to: "sb_hbar_a2"; + image.normal: "sym_right_light_normal.png"; + FIXED_SIZE(15, 15) + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + image.normal: "sym_right_glow_normal.png"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "shadow_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + rel1.offset: -3 -2; + rel1.to: "base_hbar"; + rel2.offset: 2 4; + rel2.to: "base_hbar"; + image.normal: "shadow_square_tiny.png"; + image.border: 6 6 6 6; + fill.smooth: 0; + fixed: 1 1; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + rel1.offset: -2 -2; + rel2.offset: 1 1; + color: 255 255 255 128; + } + } + part { name: "glow_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + rel1.offset: -3 -3; + rel1.to: "base_hbar"; + rel2.offset: 2 2; + rel2.to: "base_hbar"; + image.normal: "glow_small.png"; + image.border: 7 7 7 7; + fill.smooth: 0; + visible: 0; + fixed: 1 1; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "runner_glow_hbar"; mouse_events: 0; + clip_to: "runner_hbar_clip"; + description { state: "default" 0.0; + rel1.offset: -30 0; + rel1.to_x: "base_hbar"; + rel1.to_y: "runner_hbar_clip"; + rel2.offset: 29 -1; + rel2.to_x: "base_hbar"; + rel2.to_y: "runner_hbar_clip"; + image.normal: "runner_glow_horiz.png"; + image.border: 33 33 0 0; + fixed: 1 1; + } + } + part { name: "base_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.offset: 0 2; + rel1.to: "efl.dragable.hbar"; + rel2.offset: -1 -3; + rel2.to: "efl.dragable.hbar"; + image.normal: "vgrad_med_lighter.png"; + fill.smooth: 0; + min: 13 3; + TILED_HORIZ(120) + } + } + part { name: "bevel_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + rel1.to: "base_hbar"; + rel2.to: "base_hbar"; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + min: 3 3; + fixed: 1 1; + } + } + part { name: "center_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + rel1.to: "base_hbar"; + rel2.to: "base_hbar"; + image.normal: "holes_tiny_horiz.png"; + FIXED_SIZE(11, 3) + fixed: 1 1; + } + } + part { name: "center_glow_hbar"; mouse_events: 0; + clip_to: "sb_hbar_show"; + description { state: "default" 0.0; + rel1.to: "center_hbar"; + rel2.to: "center_hbar"; + image.normal: "holes_tiny_glow_horiz.png"; + FIXED_SIZE(17, 11) + visible: 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "dim_effect"; type: RECT; mouse_events: 0; + description { state: "default" 0.0; + color: 0 0 0 0; + } + description { state: "effect" 0.0; + color: 50 50 50 255; + } + } + } + programs { + program { + signal: "mouse,down,1*"; source: "efl.dragable.vbar"; + action: STATE_SET "clicked" 0.0; + target: "efl.dragable.vbar"; + target: "shadow_vbar"; + target: "glow_vbar"; + target: "center_glow_vbar"; + } + program { + signal: "mouse,down,*"; source: "efl.dragable.vbar"; + action: SIGNAL_EMIT "efl,vbar,press" "efl"; + } + program { + signal: "mouse,up,1"; source: "efl.dragable.vbar"; + action: STATE_SET "default" 0.0; + target: "efl.dragable.vbar"; + target: "shadow_vbar"; + target: "glow_vbar"; + target: "center_glow_vbar"; + } + program { + signal: "mouse,up,*"; source: "efl.dragable.vbar"; + action: SIGNAL_EMIT "efl,vbar,unpress" "efl"; + } + program { + signal: "mouse,down,1*"; source: "efl.dragable.hbar"; + action: STATE_SET "clicked" 0.0; + target: "efl.dragable.hbar"; + target: "shadow_hbar"; + target: "glow_hbar"; + target: "center_glow_hbar"; + } + program { + signal: "mouse,down,*"; source: "efl.dragable.hbar"; + action: SIGNAL_EMIT "efl,hbar,press" "efl"; + } + program { + signal: "mouse,up,1"; source: "efl.dragable.hbar"; + action: STATE_SET "default" 0.0; + target: "efl.dragable.hbar"; + target: "shadow_hbar"; + target: "glow_hbar"; + target: "center_glow_hbar"; + } + program { + signal: "mouse,up,*"; source: "efl.dragable.hbar"; + action: SIGNAL_EMIT "efl,hbar,unpress" "efl"; + } + program { + signal: "efl,action,looping,left"; source: "efl"; + action: STATE_SET "effect" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + after: "looping,left,done"; + } + program { name: "looping,left,done"; + action: SIGNAL_EMIT "efl,looping,left,done" "efl"; + } + program { + signal: "efl,action,looping,left,end"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + } + program { + signal: "efl,action,looping,right"; source: "efl"; + action: STATE_SET "effect" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + after: "looping,right,done"; + } + program { name: "looping,right,done"; + action: SIGNAL_EMIT "efl,looping,right,done" "efl"; + } + program { + signal: "efl,action,looping,right,end"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + } + program { + signal: "efl,action,looping,up"; source: "efl"; + action: STATE_SET "effect" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + after: "looping,up,done"; + } + program { name: "looping,up,done"; + action: SIGNAL_EMIT "efl,looping,up,done" "efl"; + } + program { + signal: "efl,action,looping,up,end"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + } + program { + signal: "efl,action,looping,down"; source: "efl"; + action: STATE_SET "effect" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + after: "looping,down,done"; + } + program { name: "looping,down,done"; + action: SIGNAL_EMIT "efl,looping,down,done" "efl"; + } + program { + signal: "efl,action,looping,down,end"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.3; + target: "dim_effect"; + } + } } -group { "efl/scroller:noclip"; - inherit: "elm/scroller/base/noclip"; +group { name: "efl/scroller:noclip"; + inherit: "efl/scroller"; + parts { + part { name: "clipper"; + description { state: "default" 0.0; + rel1.offset: -999999 -999999; + rel2.offset: 999999 999999; + } + } + part { name: "efl.background"; + description { state: "default" 0.0; + rel1.offset: 0 0; + rel2.offset: -1 -1; + } + } + part { name: "efl.content"; + description { state: "default" 0.0; + rel1.offset: 0 1; + rel2.offset: -1 -1; + } + } + part { name: "inset"; + description { state: "default" 0.0; + visible: 0; + } + } + part { name: "shadow"; + description { state: "default" 0.0; + visible: 0; + } + } + } } -group { "efl/scroller/contents"; - inherit: "elm/scroller/contents/default"; +group { name: "efl/scroller/contents"; + parts { + part { name: "efl.content"; + type: SWALLOW; + description { state: "default" 0.0; + } + } + part { name: "efl.content_r"; + type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 1; + rel1 { + relative: 1.0 0.0; + to: "efl.content"; + } + rel2 { + relative: 2.0 1.0; + to: "efl.content"; + } + } + } + part { name: "efl.content_b"; + type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 1; + rel1 { + relative: 0.0 1.0; + to: "efl.content"; + } + rel2 { + relative: 1.0 2.0; + to: "efl.content"; + } + } + } + part { name: "efl.content_rb"; + type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 1; + rel1 { + relative: 1.0 1.0; + to: "efl.content"; + } + rel2 { + relative: 2.0 2.0; + to: "efl.content"; + } + } + } + } } - diff --git a/data/elementary/themes/edc/efl/slider.edc b/data/elementary/themes/edc/efl/slider.edc index 20b479b1f1..095e3aca33 100644 --- a/data/elementary/themes/edc/efl/slider.edc +++ b/data/elementary/themes/edc/efl/slider.edc @@ -1,73 +1,1037 @@ -group { "efl/slider/hidden/limit"; - inherit: "elm/slider/hidden/limit"; -} - -group { "efl/slider/horizontal/indicator"; - inherit: "elm/slider/horizontal/indicator/default"; - alias: "efl/slider/horizontal/indicator:disabled"; - alias: "efl/slider/horizontal/popup"; - alias: "efl/slider_interval/horizontal/indicator"; - alias: "efl/slider_interval/horizontal/popup"; -} - -group { "efl/slider/vertical/indicator"; - inherit: "elm/slider/vertical/indicator/default"; - alias: "efl/slider/vertical/indicator:disabled"; - alias: "efl/slider/vertical/popup"; - alias: "efl/slider_interval/vertical/indicator"; - alias: "efl/slider_interval/vertical/popup"; -} - group { "efl/slider/horizontal"; - inherit: "elm/slider/horizontal/default"; alias: "efl/slider/horizontal:disabled"; - parts { - part { "limits"; - source: "efl/slider/hidden/limit"; - } - part { "button"; - source: "efl/slider/horizontal/indicator"; + images.image: "slider_run_base_horiz.png" COMP; + images.image: "slider_run_bevel_horiz.png" COMP; + images.image: "slider_run_base_light_horiz.png" COMP; + images.image: "horiz_glow_run.png" COMP; + images.image: "horiz_glow_run_rev.png" COMP; + images.image: "knob_round_small_normal.png" COMP; + images.image: "knob_round_small_selected.png" COMP; + set { name: "knob"; + // XXX: add more sizes (at least up to 128x128) + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } +#define MASK 15 +#define INVERT 16 +#define DISABLE 32 + script { + public slmode; + public eval_mode(m) { + new d = m & DISABLE; + new i = m & INVERT; + if (i) { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "inverted", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled_inverted", 0.0); + } + } else { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "default", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled", 0.0); + } + } + if (!d) { + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"event", "disabled", 0.0); + } } } + parts { + part { name: "efl.bar"; type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 42 21; + max: 99999 21; + align: 1.0 0.5; + rel1.relative: 0.0 0.0; + rel1.offset: 2 0; + rel2.relative: 1.0 1.0; + rel2.offset: -3 -1; + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + image.normal: "slider_run_base_horiz.png"; + image.border: 4 4 0 0; + fill.smooth: 0; + min: 8 5; + max: 99999 5; + fixed: 0 1; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "slider_run_base_light_horiz.png"; + } + } + part { name: "glow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "horiz_glow_run.png"; + rel1.offset: 1 1; + rel1.to: "base"; + rel2.relative: 0.5 1.0; + rel2.offset: -1 -2; + rel2.to_x: "efl.dragable.slider"; + rel2.to_y: "base"; + image.border: 0 4 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + description { state: "inverted" 0.0; + image.normal: "horiz_glow_run_rev.png"; + rel1.relative: 0.5 0.0; + rel1.offset: 0 1; + rel1.to_x: "efl.dragable.slider"; + rel1.to_y: "base"; + rel2.offset: -2 -2; + rel2.to: "base"; + image.border: 4 0 0 0; + } + description { state: "disabled_inverted" 0.0; + inherit: "inverted" 0.0; + color: 255 255 255 64; + } + } + part { name: "bevel"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "slider_run_bevel_horiz.png"; + image.border: 5 5 0 0; + fill.smooth: 0; + } + } + part { name: "efl.dragable.slider"; type: RECT; + nomouse; + scale: 1; + dragable.x: 1 1 0; + dragable.y: 0 0 0; + dragable.confine: "efl.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.5 0.0; + rel1.to_x: "efl.bar"; + rel2.relative: 0.5 1.0; + rel2.to_x: "efl.bar"; + } + } + part { name: "knob"; + nomouse; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "efl.dragable.slider"; + rel1.offset: -4 -4; + rel2.to: "efl.dragable.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent"; type: RECT; repeat_events: 1; + nomouse; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "efl.dragable.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + color: 0 0 0 0; + } + } + part { name: "efl.track.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + } + } + part { name: "event"; 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; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "efl.dragable.slider"; + action: STATE_SET "clicked" 0.0; + target: "knob"; + } + program { + signal: "mouse,up,1"; source: "efl.dragable.slider"; + action: STATE_SET "default" 0.0; + target: "knob"; + } + program { + signal: "efl,state,inverted,on"; source: "efl"; + script { + new m = get_int(slmode); + m |= INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,inverted,off"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + } +#undef MASK +#undef INVERT +#undef DISABLE } group { "efl/slider/vertical"; - inherit: "elm/slider/vertical/default"; alias: "efl/slider/vertical:disabled"; - parts { - part { "limits"; - source: "efl/slider/hidden/limit"; - } - part { "button"; - source: "efl/slider/vertical/indicator"; + images.image: "slider_run_base_vert.png" COMP; + images.image: "slider_run_bevel_vert.png" COMP; + images.image: "slider_run_base_light_vert.png" COMP; + images.image: "vert_glow_run.png" COMP; + images.image: "vert_glow_run_rev.png" COMP; + images.image: "knob_round_small_normal.png" COMP; + images.image: "knob_round_small_selected.png" COMP; + set { name: "knob"; + // XXX: add more sizes (at least up to 128x128) + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } +#define MASK 15 +#define INVERT 16 +#define DISABLE 32 + script { + public slmode; + public eval_mode(m) { + new d = m & DISABLE; + new i = m & INVERT; + if (i) { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "inverted", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled_inverted", 0.0); + } + } else { + if (!d) { + set_state(PART:"base", "default", 0.0); + set_state(PART:"glow", "default", 0.0); + } else { + set_state(PART:"base", "disabled", 0.0); + set_state(PART:"glow", "disabled", 0.0); + } + } + if (!d) { + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"event", "disabled", 0.0); + } } } + parts { + part { name: "efl.bar"; type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 21 42; + max: 21 99999; + align: 0.5 1.0; + rel1.relative: 0.0 0.0; + rel1.offset: 0 2; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -3; + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + image.normal: "slider_run_base_vert.png"; + image.border: 0 0 4 4; + fill.smooth: 0; + min: 5 8; + max: 5 99999; + fixed: 1 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "slider_run_base_light_vert.png"; + } + } + part { name: "glow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "vert_glow_run.png"; + rel1.relative: 0.0 0.5; + rel1.offset: 1 0; + rel1.to_y: "efl.dragable.slider"; + rel1.to_x: "base"; + rel2.offset: -2 -2; + rel2.to: "base"; + image.border: 0 0 4 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + description { state: "inverted" 0.0; + image.normal: "vert_glow_run_rev.png"; + rel1.offset: 1 1; + rel1.to: "base"; + rel2.relative: 1.0 0.5; + rel2.offset: -2 -1; + rel2.to_y: "efl.dragable.slider"; + rel2.to_x: "base"; + image.border: 0 0 0 4; + } + description { state: "disabled_inverted" 0.0; + inherit: "inverted" 0.0; + color: 255 255 255 64; + } + } + part { name: "bevel"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "slider_run_bevel_vert.png"; + image.border: 0 0 5 5; + fill.smooth: 0; + } + } + part { name: "efl.dragable.slider"; type: RECT; + nomouse; + scale: 1; + dragable.x: 0 0 0; + dragable.y: 1 1 0; + dragable.confine: "efl.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.0 0.5; + rel1.to_x: "efl.bar"; + rel2.relative: 1.0 0.5; + rel2.to_x: "efl.bar"; + } + } + part { name: "knob"; + nomouse; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "efl.dragable.slider"; + rel1.offset: -4 -4; + rel2.to: "efl.dragable.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent"; type: RECT; repeat_events: 1; + nomouse; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "efl.dragable.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + color: 0 0 0 0; + } + } + part { name: "efl.track.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + } + } + part { name: "event"; 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; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "efl.dragable.slider"; + action: STATE_SET "clicked" 0.0; + target: "knob"; + } + program { + signal: "mouse,up,1"; source: "efl.dragable.slider"; + action: STATE_SET "default" 0.0; + target: "knob"; + } + program { + signal: "efl,state,inverted,on"; source: "efl"; + script { + new m = get_int(slmode); + m |= INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,inverted,off"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~INVERT; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + } +#undef MASK +#undef INVERT +#undef DISABLE } //Range group { "efl/slider_interval/horizontal"; - inherit: "elm/slider/range/horizontal/default"; alias: "efl/slider/horizontal:disabled"; - parts { - part { "limits"; - source: "efl/slider/hidden/limit"; - } - part { "button"; - source: "efl/slider_interval/horizontal/indicator"; + images.image: "slider_run_base_horiz.png" COMP; + images.image: "slider_run_bevel_horiz.png" COMP; + images.image: "slider_run_base_light_horiz.png" COMP; + images.image: "horiz_glow_run.png" COMP; + images.image: "horiz_glow_range.png" COMP; + images.image: "horiz_glow_run_rev.png" COMP; + images.image: "knob_round_small_normal.png" COMP; + images.image: "knob_round_small_selected.png" COMP; + set { name: "knob"; + // XXX: add more sizes (at least up to 128x128) + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } +#define MASK 15 +#define DISABLE 32 + script { + public slmode; + public g_timer_id; + public update_glow() + { + new x1,y1,w1,h1; + new x2,y2,w2,h2; + get_geometry(PART:"knob", x1, y1, w1, h1); + get_geometry(PART:"knob2", x2, y2, w2, h2); + if(x2 < x1) + set_state(PART:"glow", "range_reverse", 0.0); + else + set_state(PART:"glow", "default", 0.0); + } + public eval_mode(m) { + new d = m & DISABLE; + if (d) { + new x1,y1,w1,h1; + new x2,y2,w2,h2; + get_geometry(PART:"knob", x1, y1, w1, h1); + get_geometry(PART:"knob2", x2, y2, w2, h2); + set_state(PART:"base", "disabled", 0.0); + if(x2 < x1) + set_state(PART:"glow", "disabled_range_reverse", 0.0); + else + set_state(PART:"glow", "disabled_range", 0.0); + } + if (!d) { + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"event", "disabled", 0.0); + } } } + parts { + part { name: "efl.bar"; type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 42 21; + max: 99999 21; + align: 1.0 0.5; + rel1.relative: 0.0 0.0; + rel1.offset: 2 0; + rel2.relative: 1.0 1.0; + rel2.offset: -3 -1; + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + image.normal: "slider_run_base_horiz.png"; + image.border: 4 4 0 0; + fill.smooth: 0; + min: 8 5; + max: 99999 5; + fixed: 0 1; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "slider_run_base_light_horiz.png"; + } + } + part { name: "glow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "horiz_glow_range.png"; + rel1.relative: 0.5 1.0; + rel1.offset: -1 -2; + rel1.to_x: "efl.dragable.slider"; + rel1.to_y: "base"; + rel2.relative: 0.5 1.0; + rel2.offset: -1 -2; + rel2.to_x: "efl.dragable2.slider"; + rel2.to_y: "base"; + fixed: 0 1; + image.border: 0 4 0 0; + } + description { state: "disabled_range" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + description { state: "range_reverse" 0.0; + inherit: "default" 0.0; + rel1.to_x: "efl.dragable2.slider"; + rel2.to_x: "efl.dragable.slider"; + } + description { state: "disabled_range_reverse" 0.0; + inherit: "range_reverse" 0.0; + color: 255 255 255 64; + } + } + part { name: "bevel"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "slider_run_bevel_horiz.png"; + image.border: 5 5 0 0; + fill.smooth: 0; + } + } + part { name: "efl.dragable.slider"; type: RECT; + nomouse; + scale: 1; + dragable.x: 1 1 0; + dragable.y: 0 0 0; + dragable.confine: "efl.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.5 0.0; + rel1.to_x: "efl.bar"; + rel2.relative: 0.5 1.0; + rel2.to_x: "efl.bar"; + } + } + part { name: "knob"; + nomouse; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "efl.dragable.slider"; + rel1.offset: -4 -4; + rel2.to: "efl.dragable.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent"; type: RECT; repeat_events: 1; + nomouse; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "efl.dragable.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + color: 0 0 0 0; + } + } + part { name: "efl.track.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + } + } + part { name: "efl.dragable2.slider"; type: RECT; + nomouse; + scale: 1; + dragable.x: 1 1 0; + dragable.y: 0 0 0; + dragable.confine: "efl.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.5 0.0; + rel1.to_x: "efl.bar"; + rel2.relative: 0.5 1.0; + rel2.to_x: "efl.bar"; + } + } + part { name: "knob2"; + nomouse; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "efl.dragable2.slider"; + rel1.offset: -4 -4; + rel2.to: "efl.dragable2.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent2"; type: RECT; repeat_events: 1; + nomouse; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "efl.dragable2.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "efl.dragable2.slider"; + rel2.to: "efl.dragable2.slider"; + color: 0 0 0 0; + } + } + part { name: "efl.track2.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "efl.dragable2.slider"; + rel2.to: "efl.dragable2.slider"; + } + } + part { name: "event"; 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; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "efl.dragable.slider"; + action: STATE_SET "clicked" 0.0; + target: "knob"; + } + program { + signal: "mouse,up,1"; source: "efl.dragable.slider"; + action: STATE_SET "default" 0.0; + target: "knob"; + } + program { + signal: "drag"; + source: "efl.dragable*"; + script { + update_glow(); + } + } + program { + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + } +#undef MASK +#undef DISABLE } group { "efl/slider_interval/vertical"; - inherit: "elm/slider/range/vertical/default"; alias: "efl/slider/vertical:disabled"; - parts { - part { "limits"; - source: "efl/slider/hidden/limit"; - } - part { "button"; - source: "efl/slider_interval/vertical/indicator"; + images.image: "slider_run_base_vert.png" COMP; + images.image: "slider_run_bevel_vert.png" COMP; + images.image: "slider_run_base_light_vert.png" COMP; + images.image: "vert_glow_run.png" COMP; + images.image: "vert_glow_range.png" COMP; + images.image: "vert_glow_run_rev.png" COMP; + images.image: "knob_round_small_normal.png" COMP; + images.image: "knob_round_small_selected.png" COMP; + set { name: "knob"; + // XXX: add more sizes (at least up to 128x128) + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } +#define MASK 15 +#define DISABLE 32 + script { + public slmode; + public g_timer_id; + public update_glow() + { + new x1,y1,w1,h1; + new x2,y2,w2,h2; + get_geometry(PART:"knob", x1, y1, w1, h1); + get_geometry(PART:"knob2", x2, y2, w2, h2); + if(y2 < y1) + set_state(PART:"glow", "range_reverse", 0.0); + else + set_state(PART:"glow", "default", 0.0); + } + public eval_mode(m) { + new d = m & DISABLE; + if (d) { + new x1,y1,w1,h1; + new x2,y2,w2,h2; + get_geometry(PART:"knob", x1, y1, w1, h1); + get_geometry(PART:"knob2", x2, y2, w2, h2); + set_state(PART:"base", "disabled", 0.0); + if(y2 < y1) + set_state(PART:"glow", "disabled_range_reverse", 0.0); + else + set_state(PART:"glow", "disabled_range", 0.0); + } + if (!d) { + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"event", "disabled", 0.0); + } } } + parts { + part { name: "efl.bar"; type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 21 42; + max: 21 99999; + align: 0.5 1.0; + rel1.relative: 0.0 0.0; + rel1.offset: 0 2; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -3; + } + } + part { name: "base"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "efl.bar"; + rel2.to: "efl.bar"; + image.normal: "slider_run_base_vert.png"; + image.border: 0 0 4 4; + fill.smooth: 0; + min: 5 8; + max: 5 99999; + fixed: 1 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "slider_run_base_light_vert.png"; + } + } + part { name: "glow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "vert_glow_range.png"; + rel1.relative: 0.5 1.0; + rel1.offset: -1 -2; + rel1.to_x: "base"; + rel1.to_y: "efl.dragable.slider"; + rel2.relative: 0.5 1.0; + rel2.offset: -1 -2; + rel2.to_x: "base"; + rel2.to_y: "efl.dragable2.slider"; + fixed: 1 0; + image.border: 0 4 0 0; + } + description { state: "disabled_range" 0.0; + inherit: "default" 0.0; + color: 255 255 255 64; + } + description { state: "range_reverse" 0.0; + inherit: "default" 0.0; + rel1.to_y: "efl.dragable2.slider"; + rel2.to_y: "efl.dragable.slider"; + } + description { state: "disabled_range_reverse" 0.0; + inherit: "range_reverse" 0.0; + color: 255 255 255 64; + } + } + part { name: "bevel"; mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + image.normal: "slider_run_bevel_vert.png"; + image.border: 0 0 5 5; + fill.smooth: 0; + } + } + part { name: "efl.dragable.slider"; type: RECT; + nomouse; + scale: 1; + dragable.x: 0 0 0; + dragable.y: 1 1 0; + dragable.confine: "efl.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.0 0.5; + rel1.to_x: "efl.bar"; + rel2.relative: 1.0 0.5; + rel2.to_x: "efl.bar"; + } + } + part { name: "knob"; + nomouse; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "efl.dragable.slider"; + rel1.offset: -4 -4; + rel2.to: "efl.dragable.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent"; type: RECT; repeat_events: 1; + nomouse; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "efl.dragable.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + color: 0 0 0 0; + } + } + part { name: "efl.track.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "efl.dragable.slider"; + rel2.to: "efl.dragable.slider"; + } + } + part { name: "efl.dragable2.slider"; type: RECT; + nomouse; + scale: 1; + dragable.x: 0 0 0; + dragable.y: 1 1 0; + dragable.confine: "efl.bar"; + description { state: "default" 0.0; + color: 0 0 0 0; + min: 16 16; + max: 16 16; + fixed: 1 1; + rel1.relative: 0.0 0.5; + rel1.to_x: "efl.bar"; + rel2.relative: 1.0 0.5; + rel2.to_x: "efl.bar"; + } + } + part { name: "knob2"; + nomouse; + description { state: "default" 0.0; + image.normal: "knob"; + fixed: 1 1; + min: 12 12; + step: 2 2; + max: 32 32; // XXX allow bigger sizes with more knob images + rel1.to: "efl.dragable2.slider"; + rel1.offset: -4 -4; + rel2.to: "efl.dragable2.slider"; + rel2.offset: 3 3; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + } + } + part { name: "slideevent2"; type: RECT; repeat_events: 1; + nomouse; + scale: 1; + ignore_flags: ON_HOLD; + dragable.events: "efl.dragable2.slider"; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "efl.dragable2.slider"; + rel2.to: "efl.dragable2.slider"; + color: 0 0 0 0; + } + } + part { name: "efl.track2.slider"; type: SWALLOW; mouse_events: 0; + description { state: "default" 0.0; + max: 0 0; + rel1.to: "efl.dragable2.slider"; + rel2.to: "efl.dragable2.slider"; + } + } + part { name: "event"; 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; + } + } + } + programs { + program { + signal: "mouse,down,1"; source: "efl.dragable.slider"; + action: STATE_SET "clicked" 0.0; + target: "knob"; + } + program { + signal: "mouse,up,1"; source: "efl.dragable.slider"; + action: STATE_SET "default" 0.0; + target: "knob"; + } + program { + signal: "drag"; + source: "efl.dragable*"; + script { + update_glow(); + } + } + program { + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(slmode); + m |= DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(slmode); + m &= ~DISABLE; set_int(slmode, m); + eval_mode(m); + } + } + } +#undef MASK +#undef DISABLE } diff --git a/data/elementary/themes/edc/efl/spin.edc b/data/elementary/themes/edc/efl/spin.edc index a794080dae..d16d15e8ce 100644 --- a/data/elementary/themes/edc/efl/spin.edc +++ b/data/elementary/themes/edc/efl/spin.edc @@ -6,7 +6,7 @@ group { "efl/spin"; color: 0 0 0 0; } } - text { "elm.text"; + text { "efl.text"; nomouse; scale; desc { "default"; diff --git a/data/elementary/themes/edc/efl/spin_button.edc b/data/elementary/themes/edc/efl/spin_button.edc index 40e9492a2e..4cb7783f1f 100644 --- a/data/elementary/themes/edc/efl/spin_button.edc +++ b/data/elementary/themes/edc/efl/spin_button.edc @@ -3,7 +3,7 @@ group { "efl/spin_button"; parts { rect { "clip"; desc { "default"; - rel.to: "elm.swallow.text_button"; + rel.to: "efl.text_button"; } } rect { "bg"; @@ -36,12 +36,12 @@ group { "efl/spin_button"; vis; } } - swallow { "elm.swallow.entry"; + swallow { "efl.entry"; clip: "clip"; desc { "default"; fixed: 1 1; - rel1.to: "elm.swallow.text_button"; - rel2.to: "elm.swallow.text_button"; + rel1.to: "efl.text_button"; + rel2.to: "efl.text_button"; hid; } desc { "active"; @@ -49,7 +49,7 @@ group { "efl/spin_button"; vis; } } - swallow { "elm.swallow.dec_button"; + swallow { "efl.dec_button"; scale; desc { "default"; fixed: 1 0; @@ -63,7 +63,7 @@ group { "efl/spin_button"; aspect: 1.0 1.0; aspect_preference: VERTICAL; } } - swallow { "elm.swallow.inc_button"; + swallow { "efl.inc_button"; scale; desc { "default"; fixed: 1 0; @@ -77,16 +77,16 @@ group { "efl/spin_button"; aspect: 1.0 1.0; aspect_preference: VERTICAL; } } - swallow { "elm.swallow.text_button"; + swallow { "efl.text_button"; scale; desc { "default"; vis; rel1.to_y: "inset"; - rel1.to_x: "elm.swallow.dec_button"; + rel1.to_x: "efl.dec_button"; rel1.relative: 1.0 0.0; rel1.offset: 1 1; rel2.to_y: "inset"; - rel2.to_x: "elm.swallow.inc_button"; + rel2.to_x: "efl.inc_button"; rel2.relative: 0.0 1.0; rel2.offset: -2 -2; } @@ -110,50 +110,50 @@ group { "efl/spin_button"; } programs { program { "entry_active"; - signal: "elm,state,entry,active"; - source: "elm"; + signal: "efl,state,entry,active"; + source: "efl"; action: STATE_SET "active"; - target: "elm.swallow.entry"; + target: "efl.entry"; } program { "entry_inactive"; - signal: "elm,state,entry,inactive"; - source: "elm"; + signal: "efl,state,entry,inactive"; + source: "efl"; action: STATE_SET "default"; - target: "elm.swallow.entry"; + target: "efl.entry"; } program { "text_button_active"; - signal: "elm,state,button,active"; - source: "elm"; + signal: "efl,state,button,active"; + source: "efl"; action: STATE_SET "default"; - target: "elm.swallow.text_button"; + target: "efl.text_button"; } program { "text_button_inactive"; - signal: "elm,state,button,inactive"; - source: "elm"; + signal: "efl,state,button,inactive"; + source: "efl"; action: STATE_SET "inactive"; - target: "elm.swallow.text_button"; + target: "efl.text_button"; } program { "access_activate"; - signal: "elm,state,access,active"; - source: "elm"; + signal: "efl,state,access,active"; + source: "efl"; action: STATE_SET "active"; target: "access"; } program { "access_inactivate"; - signal: "elm,state,access,inactive"; - source: "elm"; + signal: "efl,state,access,inactive"; + source: "efl"; action: STATE_SET "default"; target: "access"; } program { "disable"; - signal: "elm,state,disabled"; - source: "elm"; + signal: "efl,state,disabled"; + source: "efl"; action: STATE_SET "disabled"; target: "disabler"; } program { "enable"; - signal: "elm,state,enabled"; - source: "elm"; + signal: "efl,state,enabled"; + source: "efl"; action: STATE_SET "default"; target: "disabler"; } @@ -163,7 +163,7 @@ group { "efl/spin_button"; group { "efl/spin_button:vertical"; inherit: "efl/spin_button"; parts { - swallow { "elm.swallow.inc_button"; + swallow { "efl.inc_button"; scale; desc { "default"; rel1.to: "inset"; @@ -174,16 +174,16 @@ group { "efl/spin_button:vertical"; align: 1.0 0.5; } } - swallow { "elm.swallow.text_button"; + swallow { "efl.text_button"; scale; desc { "default"; vis; rel1.to_y: "inset"; - rel1.to_x: "elm.swallow.dec_button"; + rel1.to_x: "efl.dec_button"; rel1.relative: 1.0 0.0; rel1.offset: 1 1; rel2.to_y: "inset"; - rel2.to_x: "elm.swallow.inc_button"; + rel2.to_x: "efl.inc_button"; rel2.relative: 0.0 1.0; rel2.offset: -2 -2; } @@ -192,7 +192,7 @@ group { "efl/spin_button:vertical"; hid; } } - swallow { "elm.swallow.dec_button"; + swallow { "efl.dec_button"; scale; desc { "default"; rel1.to: "inset"; @@ -207,22 +207,307 @@ group { "efl/spin_button:vertical"; } group { "efl/spin_button/inc_button"; - inherit: "elm/button/base/spinner/increase/default"; + images.image: "sym_right_light_normal.png" COMP; + images.image: "sym_right_glow_normal.png" COMP; + images.image: "sym_right_dark_normal.png" COMP; + script { + public mouse_down = 0; + public multi_down = 0; + } + parts { + part { name: "arrow.image"; + scale: 1; + description { state: "default" 0.0; + min: 15 15; + max: 15 15; + color_class: "F032L1"; + image.normal: "sym_right_light_normal.png"; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + image.normal: "sym_right_glow_normal.png"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "sym_right_dark_normal.png"; + } + } + part { name: "over"; + type: RECT; + repeat_events: 1; + 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; + } + } + } + programs { + program { name: "button_press"; + signal: "mouse,down,1"; + source: "over"; + script { + if ((get_int(multi_down) == 0) && + (get_int(mouse_down) == 0)) { + set_int(mouse_down, 1); + run_program(PROGRAM:"button_press2"); + } + } + } + program { name: "button_press2"; + action: SIGNAL_EMIT "efl,action,press" ""; + after: "button_press_anim"; + } + program { name: "button_press_anim"; + action: STATE_SET "pressed" 0.0; + target: "arrow.image"; + } + program { name: "button_unpress"; + signal: "mouse,up,1"; + source: "over"; + script { + if (get_int(mouse_down) == 1) { + set_int(mouse_down, 0); + run_program(PROGRAM:"button_unpress2"); + run_program(PROGRAM:"button_unpress_anim"); + } + } + } + program { name: "button_unpress2"; + action: SIGNAL_EMIT "efl,action,unpress" ""; + } + program { name: "button_unpress_anim"; + action: STATE_SET "default" 0.0; + target: "arrow.image"; + } + program { name: "button_click"; + signal: "mouse,clicked,1"; + source: "over"; + script { + if (get_int(multi_down) == 0) { + run_program(PROGRAM:"button_click2"); + } + } + } + program { name: "action_unpressed"; + signal: "efl,action,unpressed"; + source: "efl"; + after: "button_unpress_anim"; + } + program { name: "action_pressed"; + signal: "efl,action,pressed"; + source: "efl"; + after: "button_press_anim"; + } + program { name: "button_click2"; + action: SIGNAL_EMIT "efl,action,click" ""; + } + program { name: "access_pressed"; + signal: "efl,action,anim,activate"; + source: "efl"; + action: STATE_SET "pressed" 0.0; + target: "arrow.image"; + after: "access_pressed_anim"; + } + program { name: "access_pressed_anim"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.1; + target: "arrow.image"; + } + program { name: "disable"; + signal: "efl,state,disabled"; + source: "efl"; + action: STATE_SET "disabled" 0.0; + target: "arrow.image"; + target: "disabler"; + } + program { name: "enable"; + signal: "efl,state,enabled"; + source: "efl"; + action: STATE_SET "default" 0.0; + target: "arrow.image"; + target: "disabler"; + } + program { + name: "multi_down"; + signal: "efl,action,multi,down"; + source: "efl"; + script { + set_int(multi_down, 1); + } + } + program { + name: "multi_up"; + signal: "efl,action,multi,up"; + source: "efl"; + script { + set_int(multi_down, 0); + } + } + } +} + +group { "efl/spin_button/entry"; + inherit: "efl/text"; } group { "efl/spin_button/dec_button"; - inherit: "elm/button/base/spinner/decrease/default"; + inherit: "efl/spin_button/inc_button"; + images.image: "sym_left_light_normal.png" COMP; + images.image: "sym_left_glow_normal.png" COMP; + images.image: "sym_left_dark_normal.png" COMP; + parts { + part { name: "arrow.image"; + scale: 1; + description { state: "default" 0.0; + min: 15 15; + max: 15 15; + image.normal: "sym_left_light_normal.png"; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + image.normal: "sym_left_glow_normal.png"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "sym_left_dark_normal.png"; + } + } + } } group { "efl/spin_button/text_button"; - inherit: "elm/button/base/spinner/default"; alias: "efl/spin_button/text_button:vertical"; + parts { + part { name: "bg"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + } + } + part { name: "efl.text"; + type: TEXT; + scale: 1; + effect: SHADOW BOTTOM; + description { state: "default" 0.0; + color: FN_COL_DEFAULT; + color_class: "spinner"; + rel1.to: "bg"; + rel2.to: "bg"; + text { font: FN; size: 10; + min: 1 1; + text_class: "spinner"; + ellipsis: -1; + } + } + description { state: "disabled" 0.0; + inherit: "default" 0.0 ; + color: FN_COL_DISABLE; + color_class: "spinner_disabled"; + } + } + part { name: "over"; + type: RECT; + repeat_events: 1; + 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; + } + } + } + programs { + program { name: "button_click"; + signal: "mouse,clicked,1"; + source: "over"; + script { + run_program(PROGRAM:"button_click2"); + } + } + program { name: "button_click2"; + action: SIGNAL_EMIT "efl,action,click" ""; + } + program { name: "disable"; + signal: "efl,state,disabled"; + source: "efl"; + action: STATE_SET "disabled" 0.0; + target: "disabler"; + target: "efl.text"; + } + program { name: "enable"; + signal: "efl,state,enabled"; + source: "efl"; + action: STATE_SET "default" 0.0; + target: "disabler"; + target: "efl.text"; + } + } } group { "efl/spin_button/inc_button:vertical"; - inherit: "elm/button/base/spinner/increase/vertical"; + inherit: "efl/spin_button/inc_button"; + images.image: "sym_up_light_normal.png" COMP; + images.image: "sym_up_glow_normal.png" COMP; + images.image: "sym_up_dark_normal.png" COMP; + parts { + part { name: "arrow.image"; + scale: 1; + description { state: "default" 0.0; + min: 15 15; + max: 15 15; + image.normal: "sym_up_light_normal.png"; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + image.normal: "sym_up_glow_normal.png"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "sym_up_dark_normal.png"; + } + } + } } group { "efl/spin_button/dec_button:vertical"; - inherit: "elm/button/base/spinner/decrease/vertical"; -} \ No newline at end of file + inherit: "efl/spin_button/dec_button"; + images.image: "sym_down_light_normal.png" COMP; + images.image: "sym_down_glow_normal.png" COMP; + images.image: "sym_down_dark_normal.png" COMP; + parts { + part { name: "arrow.image"; + scale: 1; + description { state: "default" 0.0; + min: 15 15; + max: 15 15; + image.normal: "sym_down_light_normal.png"; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + image.normal: "sym_down_glow_normal.png"; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image.normal: "sym_down_dark_normal.png"; + } + } + } +} diff --git a/data/elementary/themes/edc/efl/tab_bar.edc b/data/elementary/themes/edc/efl/tab_bar.edc new file mode 100644 index 0000000000..f7f039cb79 --- /dev/null +++ b/data/elementary/themes/edc/efl/tab_bar.edc @@ -0,0 +1,596 @@ +group { "efl/tab_bar"; + images.image: "vgrad_med_lighter.png" COMP; + images.image: "bevel_out.png" COMP; + images.image: "shine.png" COMP; + images.image: "shadow_square_tiny.png" COMP; + parts { + spacer { "base"; + scale; + desc { "default"; + } + } + image { "shadow"; + nomouse; + desc { "default"; + rel.to: "base"; + rel1.offset: -3 -2; + rel2.offset: 2 3; + image.normal: "shadow_square_tiny.png"; + image.border: 6 6 6 6; + fill.smooth: 0; + } + } + image { "bg"; + desc { "default"; + rel.to: "base"; + image.normal: "vgrad_med_lighter.png"; + rel1.offset: 0 0; + rel2.offset: -1 -1; + fill.smooth: 0; + } + } + swallow { "efl.content"; + scale; + desc { "default"; + rel.to: "base"; + } + } + image { "bevel"; + nomouse; + desc { "default"; + rel.to: "base"; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + fill.smooth: 0; + } + } + image { "shine"; + nomouse; + desc { "default"; + image.normal: "shine.png"; + rel.to: "base"; + rel1.offset: 0 -2; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + FIXED_SIZE(69, 5) + } + } + } +} + +group { "efl/tab_bar/tab"; + images.image: "shadow_inset_bevels.png" COMP; + images.image: "shadow_angled_in_sides.png" COMP; + images.image: "horizontal_separated_bar_small_glow.png" COMP; + data.item: "transition_animation_on" "1"; + images.image: "bevel_dark_in.png" COMP; + +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 + script { + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"efl.icon", "default", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"efl.text", "default", 0.0); + set_state(PART:"label2", "default", 0.0); + } else { + set_state(PART:"efl.icon", "default", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"efl.text", "disabled", 0.0); + set_state(PART:"label2", "default", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"efl.icon", "icononly", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"efl.text", "icononly", 0.0); + set_state(PART:"label2", "icononly", 0.0); + } else { + set_state(PART:"efl.icon", "icononly", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"efl.text", "icononly", 0.0); + set_state(PART:"label2", "icononly", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"efl.icon", "noicon", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"efl.text", "noicon", 0.0); + set_state(PART:"label2", "noicon", 0.0); + } else { + set_state(PART:"efl.icon", "noicon", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"efl.text", "noicon_disabled", 0.0); + set_state(PART:"label2", "noicon_disabled", 0.0); + } + } else { + if (!d) { + set_state(PART:"efl.icon", "noicon", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"efl.text", "noicon", 0.0); + set_state(PART:"label2", "noicon", 0.0); + } else { + set_state(PART:"efl.icon", "noicon", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"efl.text", "noicon_disabled", 0.0); + set_state(PART:"label2", "noicon_disabled", 0.0); + } + } + } + } + parts { + spacer { "base"; + scale; + desc { "default"; + } + desc { "vert"; + rel1.offset: -1 0; + rel2.offset: 0 -1; + } + } + image { "shadow1"; + nomouse; + desc { "default"; + rel.to: "base"; + image.normal: "shadow_inset_bevels.png"; + image.border: 2 2 0 1; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + image { "shadow2"; + nomouse; + desc { "default"; + rel.to: "shadow1"; + rel1.offset: 1 0; + rel2.offset: -2 -1; + image.normal: "shadow_angled_in_sides.png"; + image.border: 8 8 0 1; + image.middle: 0; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + rect { "bend_clip"; + desc { "default"; + hid; + } + desc { "vert"; + vis; + } + } + image { "bend"; + clip_to: "bend_clip"; + desc { "default"; + min: 2 2; + max: 99999 2; + rel2.offset: -1 1; + rel2.relative: 1.0 0.0; + image.normal: "bevel_dark_in.png"; + image.border: 2 2 2 2; + fill.smooth: 0; + hid; + fixed: 1 1; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + rect { "icon_clip"; + desc { "default"; + } + desc { "disabled"; + inherit: "default"; + color: 255 255 255 64; + } + } + rect { "icon_clip1"; + clip_to: "icon_clip"; + desc { "default"; + color: 255 255 255 255; + vis; + } + desc { "animation"; + inherit: "default"; + color: 255 255 255 0; + hid; + } + } + swallow { "efl.icon"; + clip_to: "icon_clip1"; + desc { "default"; + align: 0.5 0.5; + rel1.relative: 0.0 0.0; + rel1.offset: 2 2; + rel2.to_y: "efl.text"; + rel2.relative: 1.0 0.0; + rel2.offset: -3 -1; + } + desc { "noicon"; + inherit: "default" 0.0; + hid; + rel1.offset: 2 0; + rel2.relative: 1.0 0.0; + rel2.offset: -3 -4; + } + desc { "icononly"; + inherit: "default" 0.0; + vis; + rel2.relative: 1.0 1.0; + rel2.offset: -3 -3; + rel2.to_y: "icon_clip"; + } + } + rect { "icon_clip2"; + clip_to: "icon_clip"; + desc { "default"; + color: 255 255 255 0; + hid; + } + desc { "animation"; + inherit: "default" 0.0; + color: 255 255 255 255; + vis; + } + } + swallow { "efl.icon_new"; + clip_to: "icon_clip2"; + desc { "default"; + align: 0.5 0.5; + rel1.relative: 0.0 0.0; + rel1.offset: 2 2; + rel2.to_y: "efl.text"; + rel2.relative: 1.0 0.0; + rel2.offset: -3 -1; + } + desc { "noicon"; + inherit: "default"; + hid; + rel1.offset: 2 0; + rel2.relative: 1.0 0.0; + rel2.offset: -3 -4; + } + desc { "icononly"; + inherit: "default" 0.0; + vis; + rel2.relative: 1.0 1.0; + rel2.offset: -3 -3; + rel2.to_y: "icon_clip"; + } + } + rect { "text_clip1"; + desc { "default"; + color: 255 255 255 255; + vis; + } + desc { "animation"; + inherit: "default"; + color: 255 255 255 0; + hid; + } + } + text { "efl.text"; + nomouse; + effect: SHADOW BOTTOM; + scale; + clip_to: "text_clip1"; + desc { "default"; + rel1.offset: 4 -3; + rel1.relative: 0.0 1.0; + rel2.offset: -5 -3; + align: 0.5 1.0; + color: FN_COL_DEFAULT; + color_class: "toolbar_item"; + text { font: FN; size: 10; + min: 1 1; + ellipsis: -1; + align: 0.5 0.5; + text_class: "toolbar_item"; + } + fixed: 0 1; + } + desc { "selected"; + inherit: "default"; + hid; + color_class: "toolbar_item_selected"; + } + desc { "disabled"; + inherit: "default"; + color: FN_COL_DISABLE; + color_class: "toolbar_item_disabled"; + } + desc { "noicon"; + inherit: "default"; + rel1.offset: 4 2; + rel1.relative: 0.0 0.0; + } + desc { "noicon_disabled"; + inherit: "noicon"; + color: FN_COL_DISABLE; + color_class: "toolbar_item_disabled"; + } + desc { "icononly"; + inherit: "default"; + text.min: 0 0; + hid; + fixed: 1 1; + } + } + text { "label2"; + nomouse; + effect: GLOW; + scale; + clip_to: "text_clip1"; + desc { "default"; + rel1.offset: -3 -3; + rel1.to: "efl.text"; + rel2.offset: 2 1; + rel2.to: "efl.text"; + color: FN_COL_HIGHLIGHT; + color_class: "toolbar_item_active"; + text { font: FN; size: 10; + text_source: "efl.text"; + align: 0.5 0.5; + text_class: "toolbar_item"; + } + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + desc { "noicon"; + inherit: "default"; + } + desc { "noicon_disabled"; + inherit: "noicon"; + } + desc { "icononly"; + inherit: "default"; + text.min: 0 0; + hid; + fixed: 1 1; + } + } + rect { "text_clip2"; + desc { "default"; + color: 255 255 255 0; + hid; + } + desc { "animation"; + inherit: "default"; + color: 255 255 255 255; + vis; + } + } + image { "bar"; + nomouse; + desc { "default"; + fixed: 0 1; + rel1.offset: -3 -7; + rel1.relative: 0.0 1.0; + rel1.to: "shadow2"; + rel2.offset: 2 2; + rel2.to: "shadow2"; + image.normal: "horizontal_separated_bar_small_glow.png"; + image.border: 4 4 4 4; + fill.smooth: 0; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + image { "highlight"; + nomouse; + desc { "default"; + fixed: 0 1; + rel1.offset: -3 -7; + rel1.relative: 0.0 1.0; + rel1.to: "shadow2"; + rel2.offset: 2 2; + rel2.to: "shadow2"; + image.normal: "horizontal_separated_bar_small_glow.png"; + image.border: 4 4 4 4; + fill.smooth: 0; + hid; + } + desc { "selected"; + inherit: "default"; + vis; + } + } + rect { "event"; + ignore_flags: ON_HOLD; + desc { "default"; + color: 0 0 0 0; + } + } + programs { + program { + signal: "efl,orient,horizontal"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "base"; + target: "bend_clip"; + } + program { + signal: "efl,orient,vertical"; source: "efl"; + action: STATE_SET "vert" 0.0; + target: "base"; + target: "bend_clip"; + } + program { name: "st0"; + signal: "load"; source: ""; + script { + set_int(btmode, LABEL | ICON); + } + } + program { + signal: "efl,state,selected"; source: "efl"; + action: STATE_SET "selected" 0.0; + target: "efl.text"; + target: "label2"; + target: "shadow1"; + target: "shadow2"; + target: "bar"; + target: "bend"; + } + program { + signal: "efl,state,unselected"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "efl.text"; + target: "label2"; + target: "shadow1"; + target: "shadow2"; + target: "bar"; + target: "bend"; + } + program { + signal: "mouse,up,1"; source: "event"; + action: SIGNAL_EMIT "efl,action,click" "efl"; + } + program { + signal: "efl,highlight,on"; source: "efl"; + action: STATE_SET "selected" 0.0; + target: "highlight"; + } + program { + signal: "efl,highlight,off"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "highlight"; + } + program { + signal: "mouse,in"; source: "event"; + action: SIGNAL_EMIT "efl,mouse,in" "efl"; + } + program { name: "mouse,out"; + signal: "mouse,out"; source: "event"; + action: SIGNAL_EMIT "efl,mouse,out" "efl"; + } + program { name: "st1"; + signal: "efl,text,hidden"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "st2"; + signal: "efl,text,visible"; source: "efl"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "st3"; + signal: "efl,icon,hidden"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "st4"; + signal: "efl,icon,visible"; source: "efl"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "st5"; + signal: "efl,state,disabled"; source: "efl"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "st6"; + signal: "efl,state,enabled"; source: "efl"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { + signal: "efl,state,moving"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "shadow1"; + target: "shadow2"; + } + program { + signal: "efl,state,icon_set,forward"; source: "efl"; + after: "icon_set,animation"; + } + program { + signal: "efl,state,icon_set,backward"; source: "efl"; + after: "icon_set,animation"; + } + program { name: "icon_set,animation"; + signal: "efl,state,icon_set"; source: "efl"; + action: STATE_SET "animation" 0.0; + target: "icon_clip1"; + target: "icon_clip2"; + transition: LINEAR 0.2; + after: "icon_set,animation,done"; + } + program { name: "icon_set,animation,done"; + action: SIGNAL_EMIT "efl,state,icon_set,done" "efl"; + } + program { + signal: "efl,state,icon,reset"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "icon_clip1"; + target: "icon_clip2"; + } + program { + signal: "efl,state,label_set,forward"; source: "efl"; + after: "label_set,animation"; + } + program { + signal: "efl,state,label_set,backward"; source: "efl"; + after: "label_set,animation"; + } + program { name: "label_set,animation"; + signal: "efl,state,label_set"; source: "efl"; + action: STATE_SET "animation" 0.0; + target: "text_clip1"; + target: "text_clip2"; + transition: LINEAR 0.2; + after: "label_set,animation,done"; + } + program { name: "label_set,animation,done"; + action: SIGNAL_EMIT "efl,state,label_set,done" "efl"; + } + program { + signal: "efl,state,label,reset"; source: "efl"; + action: STATE_SET "default" 0.0; + target: "text_clip1"; + target: "text_clip2"; + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE + } +} diff --git a/data/elementary/themes/edc/efl/tab_page.edc b/data/elementary/themes/edc/efl/tab_page.edc new file mode 100644 index 0000000000..68bbd6b55c --- /dev/null +++ b/data/elementary/themes/edc/efl/tab_page.edc @@ -0,0 +1,15 @@ +group { "efl/tab_page"; + parts { + spacer { "base"; + scale; + desc { "default"; + } + } + swallow { "efl.content"; + scale; + desc { "default"; + rel.to: "base"; + } + } + } +} diff --git a/data/elementary/themes/edc/efl/tab_pager.edc b/data/elementary/themes/edc/efl/tab_pager.edc new file mode 100644 index 0000000000..fb63e58a61 --- /dev/null +++ b/data/elementary/themes/edc/efl/tab_pager.edc @@ -0,0 +1,34 @@ +group { "efl/tab_pager"; + parts { + spacer { "base"; + scale; + desc { "default"; + } + } + swallow { "efl.tab_root"; + scale; + desc { "default"; + rel.to: "base"; + align: 0 0; + min: 0 50; + max: -1 50; + fixed: 0 1; + } + } + swallow { "efl.page_root"; + scale; + desc { "default"; + rel1.to: "efl.tab_root"; + rel2.to: "base"; + rel1.relative: 0 1; + } + } + swallow { "efl.event"; + scale; + repeat_events: 1; + desc { "default"; + rel.to: "efl.page_root"; + } + } + } +} diff --git a/data/elementary/themes/edc/efl/multibuttonentry.edc b/data/elementary/themes/edc/efl/tags.edc similarity index 69% rename from data/elementary/themes/edc/efl/multibuttonentry.edc rename to data/elementary/themes/edc/efl/tags.edc index 5996a6c8a0..9c9b7352d8 100644 --- a/data/elementary/themes/edc/efl/multibuttonentry.edc +++ b/data/elementary/themes/edc/efl/tags.edc @@ -1,4 +1,4 @@ -group { "efl/multibuttonentry"; +group { "efl/tags"; data.item: "horizontal_pad" 0; data.item: "vertical_pad" 0; data.item: "closed_height" 0; @@ -6,16 +6,16 @@ group { "efl/multibuttonentry"; rect { "bg"; scale; desc { "default"; - color_class: "multibuttonentry_bg"; + color_class: "tags_bg"; } } - swallow { "elm.swallow.background"; + swallow { "efl.background"; scale; desc { "default"; rel.to: "bg"; } } - swallow { "box.swallow"; + swallow { "efl.box"; desc { "default"; rel.to: "bg"; } @@ -23,20 +23,20 @@ group { "efl/multibuttonentry"; } } -group { "efl/multibuttonentry/label"; +group { "efl/tags/label"; parts { - text { "elm.text"; + text { "efl.text"; nomouse; effect: GLOW; scale; desc { "default"; color: FN_COL_HIGHLIGHT; - color_class: "multibuttonentry_label"; + color_class: "tags_label"; text { font: FNBD; size: 10; min: 1 1; ellipsis: -1; align: 0.5 0.5; - text_class: "multibuttonentry_label"; + text_class: "tags_label"; } rel1.offset: 2 2; rel2.offset: -5 -5; @@ -45,33 +45,15 @@ group { "efl/multibuttonentry/label"; } } -group { "efl/multibuttonentry/guidetext"; - parts { - text { "elm.text"; - scale; - effect: SHADOW BOTTOM; - desc { "default"; - rel1.offset: 2 2; - rel2.offset: -4 -4; - color: FN_COL_DISABLE; - text { font: FNBD; size: 10; - min: 0 1; - align: 0.0 0.5; - } - } - } - } -} - -group { "efl/multibuttonentry/btn"; +group { "efl/tags/btn"; images.image: "button_normal.png" COMP; images.image: "button_clicked.png" COMP; images.image: "sym_close_dark_normal.png" COMP; images.image: "sym_close_dark_selected.png" COMP; images.image: "win_glow.png" COMP; styles { - style { name: "efl_multibuttonentry_textblock_style"; - base: "font="FN" align=0.5 font_size=10 color=#ffffffff style=shadow,bottom shadow_color=#00000080 text_class=multibuttonentry_item ellipsis=1.0"; + style { name: "efl_tags_textblock_style"; + base: "font="FN" align=0.5 font_size=10 color=#ffffffff style=shadow,bottom shadow_color=#00000080 text_class=tags_item ellipsis=1.0"; tag: "br" "\n"; tag: "ps" "ps"; tag: "hilight" "+ font="FNBD; @@ -87,10 +69,10 @@ group { "efl/multibuttonentry/btn"; parts { rect { "bg"; desc { "default"; - color_class: "multibuttonentry_item_bg"; + color_class: "tags_item_bg"; } desc { "pressed"; - color_class: "multibuttonentry_item_bg_selected"; + color_class: "tags_item_bg_selected"; } } image { "base"; @@ -161,15 +143,15 @@ group { "efl/multibuttonentry/btn"; color: 0 0 0 0; } } - textblock { "elm.btn.text"; + textblock { "efl.btn.text"; nomouse; scale; desc { "default"; - color_class: "multibuttonentry_item_text"; - text { style: "efl_multibuttonentry_textblock_style"; + color_class: "tags_item_text"; + text { style: "efl_tags_textblock_style"; min: 1 1; ellipsis: -1; - text_class: "multibuttonentry_item_text"; + text_class: "tags_item_text"; } hid; rel1.offset: 5 5; @@ -184,12 +166,12 @@ group { "efl/multibuttonentry/btn"; nomouse; scale; desc { "default"; - color_class: "multibuttonentry_item_text"; - text { style: "efl_multibuttonentry_textblock_style"; - text_source: "elm.btn.text"; + color_class: "tags_item_text"; + text { style: "efl_tags_textblock_style"; + text_source: "efl.btn.text"; min: 0 1; align: 0.0 0.5; - text_class: "multibuttonentry_item_text"; + text_class: "tags_item_text"; } align: 0.0 0.5; rel1.offset: 5 5; @@ -201,16 +183,16 @@ group { "efl/multibuttonentry/btn"; } desc { "pressed"; inherit: "default"; - color_class: "multibuttonentry_item_text_pressed"; + color_class: "tags_item_text_pressed"; text { - text_class: "multibuttonentry_item_text_pressed"; + text_class: "tags_item_text_pressed"; } } desc { "disabled"; inherit: "default"; - color_class: "multibuttonentry_item_text_disabled"; + color_class: "tags_item_text_disabled"; text { - text_class: "multibuttonentry_item_text_disabled"; + text_class: "tags_item_text_disabled"; } } } @@ -226,28 +208,28 @@ group { "efl/multibuttonentry/btn"; } } program { - signal: "elm,state,default"; - source: "elm"; + signal: "efl,state,default"; + source: "efl"; action: STATE_SET "default"; target: "glow"; } program { - signal: "elm,state,focused"; - source: "elm"; + signal: "efl,state,focused"; + source: "efl"; action: STATE_SET "focused"; target: "glow"; } program { - signal: "elm,state,enabled"; - source: "elm"; + signal: "efl,state,enabled"; + source: "efl"; script { set_state(PART:"text", "default", 0.0); set_int(disabled , 0); } } program { - signal: "elm,state,disabled"; - source: "elm"; + signal: "efl,state,disabled"; + source: "efl"; script { new st[31]; new Float: vl; @@ -259,8 +241,8 @@ group { "efl/multibuttonentry/btn"; } } program { - signal: "elm,state,unfocused"; - source: "elm"; + signal: "efl,state,unfocused"; + source: "efl"; action: STATE_SET "unfocused"; target: "glow"; } @@ -289,7 +271,7 @@ group { "efl/multibuttonentry/btn"; program { signal: "mouse,clicked,1"; source: "del"; - action: SIGNAL_EMIT "elm,deleted" "elm"; + action: SIGNAL_EMIT "efl,deleted" "efl"; } program { signal: "mouse,down,1"; @@ -306,35 +288,23 @@ group { "efl/multibuttonentry/btn"; } } -group { "efl/multibuttonentry/closedbutton"; - styles { - style { name: "textblock_style_efl_multibuttonentry_default"; - base: "font="FNBD" font_size=10 text_class=multibuttonentry_closed style=glow color=#3399ffff glow_color=#3399ff18 align=center glow2_color=#3399ff12 wrap=char"; - tag: "br" "\n"; - tag: "ps" "ps"; - tag: "hilight" "+ font="FNBD; - tag: "b" "+ font="FNBD; - tag: "tab" "\t"; - } - } +group { "efl/tags/number"; parts { - rect { "bg"; - desc { "default"; - color: 0 0 0 0; - } - } - textblock { "elm.text"; + text { "efl.text"; nomouse; + effect: GLOW; scale; desc { "default"; - rel1.offset: 2 2; - rel1.to: "bg"; - rel2.offset: -3 -3; - rel2.to: "bg"; - text { style: "textblock_style_multibuttonentry_default"; + color: FN_COL_HIGHLIGHT; + color_class: "tags_number"; + text { font: FNBD; size: 10; min: 1 1; ellipsis: -1; + align: 0.5 0.5; + text_class: "tags_number"; } + rel1.offset: 2 2; + rel2.offset: -5 -5; } } } diff --git a/data/elementary/themes/edc/efl/text.edc b/data/elementary/themes/edc/efl/text.edc index 728c905399..61986b82f5 100644 --- a/data/elementary/themes/edc/efl/text.edc +++ b/data/elementary/themes/edc/efl/text.edc @@ -1,8 +1,9 @@ + group { "efl/text/scroller"; - inherit: "elm/scroller/base/default"; + inherit: "efl/scroller"; image: "bg_glow_in.png" COMP; parts { - part { name: "elm.swallow.background"; type: SWALLOW; + part { name: "efl.background"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; rel1.offset: 1 1; @@ -28,17 +29,17 @@ group { "efl/text/scroller"; color: DARK_GREY_BG_COLOR; } } - part { name: "elm.swallow.content"; + part { name: "efl.content"; type: SWALLOW; description { state: "default" 0.0; - rel1.to: "elm.swallow.icon"; + rel1.to: "efl.icon"; rel1.relative: 1.0 0.0; rel1.offset: 0 0; - rel2.to: "elm.swallow.end"; + rel2.to: "efl.end"; rel2.relative: 0.0 1.0; rel2.offset: -1 -1; } } - part { name: "elm.swallow.icon"; type: SWALLOW; + part { name: "efl.icon"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; fixed: 1 1; @@ -57,16 +58,16 @@ group { "efl/text/scroller"; } } program { - signal: "elm,action,show,icon"; source: "elm"; + signal: "efl,action,show,icon"; source: "efl"; action: STATE_SET "visible" 0.0; - target: "elm.swallow.icon"; + target: "efl.icon"; } program { - signal: "elm,action,hide,icon"; source: "elm"; + signal: "efl,action,hide,icon"; source: "efl"; action: STATE_SET "default" 0.0; - target: "elm.swallow.icon"; + target: "efl.icon"; } - part { name: "elm.swallow.end"; type: SWALLOW; + part { name: "efl.end"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; fixed: 1 1; @@ -85,14 +86,14 @@ group { "efl/text/scroller"; } } program { - signal: "elm,action,show,end"; source: "elm"; + signal: "efl,action,show,end"; source: "efl"; action: STATE_SET "visible" 0.0; - target: "elm.swallow.end"; + target: "efl.end"; } program { - signal: "elm,action,hide,end"; source: "elm"; + signal: "efl,action,hide,end"; source: "efl"; action: STATE_SET "default" 0.0; - target: "elm.swallow.end"; + target: "efl.end"; } part { name: "glow"; insert_after: "shadow"; @@ -118,7 +119,7 @@ group { "efl/text/scroller"; } programs { program { - signal: "elm,action,focus_highlight,show"; source: "elm"; + signal: "efl,action,focus_highlight,show"; source: "efl"; action: STATE_SET "focused" 0.0; target: "glow"; after: "focus_in2"; @@ -129,26 +130,26 @@ group { "efl/text/scroller"; target: "glow"; } program { - signal: "elm,action,focus_highlight,hide"; source: "elm"; + signal: "efl,action,focus_highlight,hide"; source: "efl"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.3; target: "glow"; } program { name: "validation_fail"; signal: "validation,default,fail"; - source: "elm"; + source: "efl"; action: STATE_SET "fail" 0.0; target: "validation_glow"; } program { name: "validation_pass"; signal: "validation,default,pass"; - source: "elm"; + source: "efl"; action: STATE_SET "pass" 0.0; target: "validation_glow"; } program { name: "validation_off"; signal: "validation,default"; - source: "elm"; + source: "efl"; action: STATE_SET "default" 0.0; target: "validation_glow"; } @@ -182,7 +183,7 @@ group { "efl/text/single/scroller"; visible: 0; } } - part { name: "elm.dragable.vbar"; type: RECT; + part { name: "efl.dragable.vbar"; type: RECT; dragable.x: 0 0 0; dragable.y: 1 1 0; dragable.confine: "sb_vbar_base"; @@ -202,7 +203,7 @@ group { "efl/text/single/scroller"; visible: 0; } } - part { name: "elm.dragable.hbar"; type: RECT; + part { name: "efl.dragable.hbar"; type: RECT; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "sb_hbar_base"; @@ -217,35 +218,35 @@ group { "efl/text/single/scroller"; } part { name: "bg"; type: RECT; description { state: "default" 0.0; - rel1.to: "elm.swallow.background"; - rel2.to: "elm.swallow.background"; + rel1.to: "efl.background"; + rel2.to: "efl.background"; color: DARK_GREY_BG_COLOR; color_class: "scroller_bg"; } } part { name: "clipper"; type: RECT; description { state: "default" 0.0; - rel1.to: "elm.swallow.background"; - rel2.to: "elm.swallow.background"; + rel1.to: "efl.background"; + rel2.to: "efl.background"; } } - part { name: "elm.swallow.background"; type: SWALLOW; + part { name: "efl.background"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; rel1.offset: 1 1; rel2.offset: -2 -2; } } - part { name: "elm.swallow.content"; type: SWALLOW; + part { name: "efl.content"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; - rel1.to: "elm.swallow.icon"; + rel1.to: "efl.icon"; rel1.relative: 1.0 0.0; - rel2.to: "elm.swallow.end"; + rel2.to: "efl.end"; rel2.relative: 0.0 1.0; } } - part { name: "elm.swallow.icon"; type: SWALLOW; + part { name: "efl.icon"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; fixed: 1 1; @@ -262,16 +263,16 @@ group { "efl/text/single/scroller"; } } program { - signal: "elm,action,show,icon"; source: "elm"; + signal: "efl,action,show,icon"; source: "efl"; action: STATE_SET "visible" 0.0; - target: "elm.swallow.icon"; + target: "efl.icon"; } program { - signal: "elm,action,hide,icon"; source: "elm"; + signal: "efl,action,hide,icon"; source: "efl"; action: STATE_SET "default" 0.0; - target: "elm.swallow.icon"; + target: "efl.icon"; } - part { name: "elm.swallow.end"; type: SWALLOW; + part { name: "efl.end"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; fixed: 1 1; @@ -288,14 +289,14 @@ group { "efl/text/single/scroller"; } } program { - signal: "elm,action,show,end"; source: "elm"; + signal: "efl,action,show,end"; source: "efl"; action: STATE_SET "visible" 0.0; - target: "elm.swallow.end"; + target: "efl.end"; } program { - signal: "elm,action,hide,end"; source: "elm"; + signal: "efl,action,hide,end"; source: "efl"; action: STATE_SET "default" 0.0; - target: "elm.swallow.end"; + target: "efl.end"; } part { name: "inset"; mouse_events: 0; description { state: "default" 0.0; @@ -320,7 +321,7 @@ group { "efl/text/single/scroller"; color: 255 255 255 128; } } - part { name: "elm.swallow.overlay"; type: SWALLOW; + part { name: "efl.overlay"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; rel1.offset: 1 1; @@ -350,7 +351,7 @@ group { "efl/text/single/scroller"; } programs { program { - signal: "elm,action,focus_highlight,show"; source: "elm"; + signal: "efl,action,focus_highlight,show"; source: "efl"; action: STATE_SET "focused" 0.0; target: "glow"; after: "focus_in2"; @@ -361,26 +362,26 @@ group { "efl/text/single/scroller"; target: "glow"; } program { - signal: "elm,action,focus_highlight,hide"; source: "elm"; + signal: "efl,action,focus_highlight,hide"; source: "efl"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.3; target: "glow"; } program { name: "validation_fail"; signal: "validation,default,fail"; - source: "elm"; + source: "efl"; action: STATE_SET "fail" 0.0; target: "validation_glow"; } program { name: "validation_pass"; signal: "validation,default,pass"; - source: "elm"; + source: "efl"; action: STATE_SET "pass" 0.0; target: "validation_glow"; } program { name: "validation_off"; signal: "validation,default"; - source: "elm"; + source: "efl"; action: STATE_SET "default" 0.0; target: "validation_glow"; } @@ -422,22 +423,22 @@ group { "efl/text/cursor"; } programs { program { - signal: "selection,changed"; source: "elm.text"; + signal: "selection,changed"; source: "efl.text"; action: STATE_SET "hidden" 0.0; target: "clipper"; } program { - signal: "selection,cleared"; source: "elm.text"; + signal: "selection,cleared"; source: "efl.text"; action: STATE_SET "default" 0.0; target: "clipper"; } program { - signal: "selection,reset"; source: "elm.text"; + signal: "selection,reset"; source: "efl.text"; action: STATE_SET "default" 0.0; target: "clipper"; } program { - signal: "elm,action,focus"; source: "elm"; + signal: "efl,action,focus"; source: "efl"; action: ACTION_STOP; target: "cursor_show"; target: "cursor_hide"; @@ -446,7 +447,7 @@ group { "efl/text/cursor"; after: "cursor_show"; } program { - signal: "elm,action,unfocus"; source: "elm"; + signal: "efl,action,unfocus"; source: "efl"; action: ACTION_STOP; target: "cursor_show"; target: "cursor_hide"; @@ -455,7 +456,7 @@ group { "efl/text/cursor"; after: "cursor_hide_stop"; } program { - signal: "elm,action,show,cursor"; source: "elm"; + signal: "efl,action,show,cursor"; source: "efl"; action: ACTION_STOP; target: "cursor_show"; target: "cursor_hide"; @@ -541,17 +542,17 @@ group { "efl/text"; } } parts { - part { name: "elm.swallow.background"; type: SWALLOW; + part { name: "efl.background"; type: SWALLOW; description { state: "default" 0.0; rel1.offset: 1 1; rel2.offset: -2 -2; } } - part { name: "elm.guide"; type: TEXTBLOCK; mouse_events: 0; + part { name: "efl.guide"; type: TEXTBLOCK; mouse_events: 0; scale: 1; description { state: "default" 0.0; - rel1.to: "elm.text"; - rel2.to: "elm.text"; + rel1.to: "efl.text"; + rel2.to: "efl.text"; text { style: "efl_ui_text_guide_style"; min: 0 1; align: 0.0 0.0; @@ -562,7 +563,7 @@ group { "efl/text"; visible: 0; } } - part { name: "elm.text"; type: SWALLOW; + part { name: "efl.text"; type: SWALLOW; scale: 1; description { state: "default" 0.0; /* we gotta use 0 0 here, because of scrolled entries */ @@ -579,32 +580,32 @@ group { "efl/text"; program { signal: "load"; source: ""; action: FOCUS_SET; - target: "elm.text"; + target: "efl.text"; } program { - signal: "elm,state,disabled"; source: "elm"; + signal: "efl,state,disabled"; source: "efl"; action: STATE_SET "disabled" 0.0; - target: "elm.text"; + target: "efl.text"; } program { - signal: "elm,state,enabled"; source: "elm"; + signal: "efl,state,enabled"; source: "efl"; action: STATE_SET "default" 0.0; - target: "elm.text"; + target: "efl.text"; } #if 0 program { - signal: "elm,guide,disabled"; source: "elm"; + signal: "efl,guide,disabled"; source: "efl"; action: STATE_SET "hidden" 0.0; - target: "elm.guide"; + target: "efl.guide"; } program { - signal: "elm,guide,enabled"; source: "elm"; + signal: "efl,guide,enabled"; source: "efl"; action: STATE_SET "default" 0.0; - target: "elm.guide"; + target: "efl.guide"; } #endif program { name: "key-down"; - signal: "entry,keydown"; source: "elm.text"; + signal: "entry,keydown"; source: "efl.text"; script { new buf[32]; snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); @@ -645,7 +646,7 @@ group { "efl/text/magnifier"; visible: 0; } } - part { name: "elm.swallow.content"; type: SWALLOW; mouse_events: 0; + part { name: "efl.content"; type: SWALLOW; mouse_events: 0; description { state: "default" 0.0; rel1.offset: 10 10; rel1.to: "over"; @@ -675,16 +676,16 @@ group { "efl/text/magnifier"; } programs { program { name: "magnifier_show"; - signal: "elm,action,show,magnifier"; source: "elm"; + signal: "efl,action,show,magnifier"; source: "efl"; action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; + target: "efl.content"; target: "bg"; target: "over"; } program { name: "magnifier_hide"; - signal: "elm,action,hide,magnifier"; source: "elm"; + signal: "efl,action,hide,magnifier"; source: "efl"; action: STATE_SET "hidden" 0.0; - target: "elm.swallow.content"; + target: "efl.content"; target: "bg"; target: "over"; } @@ -725,13 +726,13 @@ group { "efl/text/handler/start"; } programs { program { - signal: "elm,handler,show"; source: "elm"; + signal: "efl,handler,show"; source: "efl"; action: STATE_SET "visible" 0.0; target: "base"; target: "event"; } program { - signal: "elm,handler,hide"; source: "elm"; + signal: "efl,handler,hide"; source: "efl"; action: STATE_SET "default" 0.0; target: "base"; target: "event"; @@ -773,13 +774,13 @@ group { "efl/text/handler/end"; } programs { program { - signal: "elm,handler,show"; source: "elm"; + signal: "efl,handler,show"; source: "efl"; action: STATE_SET "visible" 0.0; target: "base"; target: "event"; } program { - signal: "elm,handler,hide"; source: "elm"; + signal: "efl,handler,hide"; source: "efl"; action: STATE_SET "default" 0.0; target: "base"; target: "event"; @@ -913,4 +914,4 @@ group { "efl/text/emoticon/worried"; images.image: group { "efl/text/emoticon/wtf"; images.image: "emo-wtf.png" COMP; parts { part { "icon"; nomouse; desc { "default"; max: 64 64; image.normal: "emo-wtf.png"; } } } } -//------------------------------------------------------------ +//------------------------------------------------------------ \ No newline at end of file diff --git a/data/elementary/themes/edc/efl/textpath.edc b/data/elementary/themes/edc/efl/textpath.edc index ed4924f9fb..3f880c11a5 100644 --- a/data/elementary/themes/edc/efl/textpath.edc +++ b/data/elementary/themes/edc/efl/textpath.edc @@ -1,3 +1,24 @@ -group { "efl/textpath"; - inherit: "elm/textpath/base/default"; +group { name: "efl/textpath"; + styles { + style { name: "textpath_style2"; + base: "font="FN" font_size=16 text_class=tb_plain wrap=none align=left color=#ffffffff style=shadow,bottom shadow_color=#00000080"; + tag: "br" "\n"; + tag: "b" "+ font="FNBD" text_class=tb_light"; + ENABLED_TEXTBLOCK_TAGS + } + } + parts { + part { name: "efl.text"; + type: TEXTBLOCK; + scale: 1; + description { state: "default" 0.0; + align: 0.0 0.0; + text { + style: "textpath_style2"; + min: 0 1; + align: 0.0 0.5; + } + } + } + } } diff --git a/data/elementary/themes/edc/efl/timepicker.edc b/data/elementary/themes/edc/efl/timepicker.edc new file mode 100644 index 0000000000..c5a2a6a480 --- /dev/null +++ b/data/elementary/themes/edc/efl/timepicker.edc @@ -0,0 +1,409 @@ +group { "efl/timepicker"; + nomouse; + parts { + spacer { "base"; + scale; + desc { "default"; + min: 150 170; + } + desc { "24layout"; + min: 110 170; + } + } + rect { "base_bg"; + scale; + desc { "default"; + rel.to: "base"; + color_class: "timepicker_bg"; + } + } + spacer { "padding_bg_top"; + scale; + desc { "default"; + min: 0 10; + max: -1 10; + fixed: 0 1; + rel1 { + relative: 0.0 0.0; + to: "base_bg"; + } + rel2 { + relative: 1.0 0.0; + to: "base_bg"; + } + align: 0.5 0.0; + } + } + spacer { "padding_bg_bottom"; + scale; + desc { "default"; + min: 0 10; + max: -1 10; + fixed: 0 1; + rel1 { + relative: 0.0 1.0; + to: "base_bg"; + } + rel2 { + relative: 1.0 1.0; + to: "base_bg"; + } + align: 0.5 1.0; + } + } + spacer { "bg"; + scale; + desc { "default"; + min: 150 150; + max: 150 150; + rel1 { + relative: 0.0 1.0; + to: "padding_bg_top"; + } + rel2 { + relative: 1.0 0.0; + to: "padding_bg_bottom"; + } + } + desc { "24layout"; + inherit: "default"; + min: 110 150; + max: 110 150; + } + } + spacer { "padding_left"; + scale; + desc { "default"; + min: 0 0; + max: 0 -1; + fixed: 1 0; + rel1 { + relative: 0.0 0.0; + to: "bg"; + } + rel2 { + relative: 0.0 1.0; + to: "bg"; + } + align: 0.0 0.0; + } + } + spacer { "padding_right"; + scale; + desc { "default"; + min: 0 0; + max: 0 -1; + fixed: 1 0; + rel1 { + relative: 1.0 0.0; + to: "bg"; + } + rel2 { + relative: 1.0 1.0; + to: "bg"; + } + align: 1.0 1.0; + } + } + swallow { "efl.field0"; + mouse; + scale; + desc { "default"; + fixed: 1 0; + min: 40 0; + rel1 { + relative: 1.0 0.0; + to: "padding_left"; + } + rel2.to: "padding_left"; + align: 0.0 0.5; + } + } + spacer{ "padding_center1"; + scale; + desc { "default"; + fixed: 1 0; + min: 3 0; + max: 3 -1; + rel1 { + relative: 1.0 0.0; + to: "efl.field0"; + } + rel2.to: "efl.field0"; + align: 0.0 0.5; + } + desc { "invisible"; + inherit: default 0.0; + min: 15 0; + max: 15 -1; + } + } + spacer { "bg_text"; + scale; + desc { "default"; + rel1 { + relative: 1.0 0.0; + to: "padding_center1"; + } + rel2.to: "padding_center1"; + align: 0.0 0.5; + min: 9 0; + max: 9 -1; + fixed: 1 0; + } + desc { "invisible"; + inherit: default 0.0; + min: 0 0; + max: 0 0; + } + } + text { "hour_minute_colon"; + scale; + desc { "default"; + rel1.to: "bg_text"; + rel2.to: "bg_text"; + color: 255 255 255 255; + fixed: 1 1; + text { + min: 1 0; + font: "Sans"; + size: "15"; + //text: ":"; + align: 0.5 0.44; + } + vis; + } + desc { "invisible"; + inherit: default 0.0; + hid; + } + } + spacer { "padding_center2"; + scale; + desc { "default"; + fixed: 1 0; + min: 3 0; + max: 3 -1; + rel1 { + relative: 1.0 0.0; + to: "bg_text"; + } + rel2.to: "bg_text"; + align: 0.0 0.5; + } + desc { "invisible"; + inherit: default 0.0; + min: 0 0; + max: 0 0; + } + } + swallow { "efl.field1"; + mouse; + scale; + desc { "default"; + fixed: 1 0; + min: 40 0; + rel1 { + relative: 1.0 0.0; + to: "padding_center2"; + } + rel2.to: "padding_center2"; + align: 0.0 0.5; + } + } + spacer { "padding_center3"; + scale; + desc { "default"; + fixed: 1 0; + min: 3 0; + max: 3 -1; + rel1 { + relative: 1.0 0.0; + to: "efl.field1"; + } + rel2.to: "efl.field1"; + align: 0.0 0.5; + } + desc { "invisible"; + inherit: default 0.0; + min: 15 0; + max: 15 -1; + } + } + spacer { "bg_text2"; + scale; + desc { "default"; + rel1 { + relative: 1.0 0.0; + to: "padding_center3"; + } + rel2.to: "padding_center3"; + align: 0.0 0.5; + min: 9 0; + max: 9 -1; + fixed: 1 0; + } + desc { "invisible"; + inherit: default 0.0; + min: 0 0; + max: 0 0; + } + } + text { "hour_minute_colon2"; + scale; + desc { "default"; + rel1.to: "bg_text2"; + rel2.to: "bg_text2"; + color: 255 255 255 255; + fixed: 1 1; + text { + min: 1 0; + font: "Sans"; + size: "15"; + //text: ":"; + align: 0.5 0.44; + } + vis; + } + desc { "invisible"; + inherit: default 0.0; + hid; + } + } + spacer { "padding_center4"; + scale; + desc { "default"; + fixed: 1 0; + min: 3 0; + max: 3 -1; + rel1 { + relative: 1.0 0.0; + to: "bg_text2"; + } + rel2.to: "bg_text2"; + align: 0.0 0.5; + } + desc { "invisible"; + inherit: default 0.0; + min: 0 0; + max: 0 0; + } + } + swallow { "efl.field2"; + mouse; + scale; + desc { "default"; + fixed: 1 0; + min: 40 0; + max: 40 -1; + rel1 { + relative: 1.0 0.0; + to: "padding_center4"; + } + rel2.to: "padding_center4"; + align: 0.0 0.5; + } + desc { "24layout"; + hid; + min: 0 0; + max: 0 -1; + } + } + rect { "access"; + repeat; + desc { "default"; + fixed: 1 1; + rel1.to: "bg"; + rel2.to: "bg"; + color: 0 0 0 0; + } + } + } + programs { + program { "visible_ampm"; + signal: "efl,state,ampm,visible"; + source: "efl"; + script { + set_state(PART:"base", "default", 0.0); + set_state(PART:"bg", "default", 0.0); + set_state(PART:"efl.field2", "default", 0.0); + } + } + program { "invisible_ampm"; + signal: "efl,state,ampm,invisible"; + source: "efl"; + script { + set_state(PART:"base", "24layout", 0.0); + set_state(PART:"bg", "24layout", 0.0); + set_state(PART:"efl.field2", "24layout", 0.0); + } + } + program { "visible_colon_field0"; + signal: "efl,state,colon,visible,field0"; + source: "efl"; + action: STATE_SET "default"; + target: "padding_center1"; + target: "hour_minute_colon"; + target: "bg_text"; + target: "padding_center2"; + } + program { "invisible_colon_field0"; + signal: "efl,state,colon,invisible,field0"; + source: "efl"; + action: STATE_SET "invisible"; + target: "padding_center1"; + target: "hour_minute_colon"; + target: "bg_text"; + target: "padding_center2"; + } + program { "visible_colon_field1"; + signal: "efl,state,colon,visible,field1"; + source: "efl"; + action: STATE_SET "default"; + target: "padding_center3"; + target: "hour_minute_colon2"; + target: "bg_text2"; + target: "padding_center4"; + } + program { "invisible_colon_field1"; + signal: "efl,state,colon,invisible,field1"; + source: "efl"; + action: STATE_SET "invisible"; + target: "padding_center3"; + target: "hour_minute_colon2"; + target: "bg_text2"; + target: "padding_center4"; + } + } +} + +group { "efl/timepicker/spin_button"; + inherit: "efl/datepicker/spin_button"; +} + +group { "efl/timepicker/spin_button/text_button"; + inherit: "efl/spin_button/text_button"; +} + +group { "efl/timepicker/spin_button/inc_button"; + inherit: "efl/spin_button/inc_button:vertical"; +} + +group { "efl/timepicker/spin_button/dec_button"; + inherit: "efl/spin_button/dec_button:vertical"; +} +group { "efl/timepicker/button"; + inherit: "efl/button"; + parts { + image { "base"; + desc { "default"; + min: 40 40; + max: 40 40; + } + desc { "pressed"; + min: 40 40; + max: 40 40; + } + } + } +} diff --git a/data/elementary/themes/edc/efl/tooltip.edc b/data/elementary/themes/edc/efl/tooltip.edc index 204b2b4ddc..3022781443 100644 --- a/data/elementary/themes/edc/efl/tooltip.edc +++ b/data/elementary/themes/edc/efl/tooltip.edc @@ -1,15 +1,431 @@ -group { "efl/label/tooltip"; - inherit: "elm/label/base/tooltip/default"; +group { name: "efl/label/tooltip"; alias: "efl/label/base/tooltip"; //XXX: Remove it in EFL 2.0 alias: "efl/label/base/tooltip/transparent"; + styles { + style { name: "tooltip_style2"; + base: "font="FN" font_size=10 color=#ffffff style=shadow,bottom shadow_color=#00000080 text_class=bubble"; + tag: "br" "\n"; + tag: "hilight" "+ font="FN" text_class=bubble"; + tag: "b" "+ font="FN" text_class=bubble"; + tag: "tab" "\t"; + } + } + parts { + part { name: "efl.text"; type: TEXTBLOCK; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + text { + style: "tooltip_style2"; + min: 1 1; + ellipsis: -1; + } + } + } + } } -group { "efl/tooltip"; - inherit: "elm/tooltip/base/default"; +group { name: "efl/tooltip"; + min: 30 30; + data.item: "pad_x" "10"; + data.item: "pad_y" "10"; + data.item: "pad_border_x" "1"; + data.item: "pad_border_y" "1"; + /* tooltip is hidden after this amount. + Keep in sync with hide animations */ + data.item: "hide_timeout" "0.35"; + // if in a window... it's transparent! + data.item: "transparent" "enabled"; + images.image: "tooltip-base.png" COMP; + images.image: "tooltip-corner-top-left-tip.png" COMP; + images.image: "tooltip-corner-top-right-tip.png" COMP; + images.image: "tooltip-corner-bottom-left-tip.png" COMP; + images.image: "tooltip-corner-bottom-right-tip.png" COMP; + images.image: "tooltip-edge-left-tip.png" COMP; + images.image: "tooltip-edge-right-tip.png" COMP; + images.image: "tooltip-edge-bottom-tip.png" COMP; + images.image: "tooltip-edge-top-tip.png" COMP; + script { + hide_corners() { + set_state(PART:"corner-top-left", "default", 0.0); + set_state(PART:"corner-top-right", "default", 0.0); + set_state(PART:"corner-bottom-left", "default", 0.0); + set_state(PART:"corner-bottom-right", "default", 0.0); + } + hide_edges() { + set_state(PART:"clipper-edge-left", "default", 0.0); + set_state(PART:"clipper-edge-right", "default", 0.0); + set_state(PART:"clipper-edge-top", "default", 0.0); + set_state(PART:"clipper-edge-bottom", "default", 0.0); + } + show_corner_top_left() { + set_state(PART:"corner-top-left", "visible", 0.0); + set_state(PART:"corner-top-right", "default", 0.0); + set_state(PART:"corner-bottom-left", "default", 0.0); + set_state(PART:"corner-bottom-right", "default", 0.0); + hide_edges(); + } + show_corner_top_right() { + set_state(PART:"corner-top-right", "visible", 0.0); + set_state(PART:"corner-top-left", "default", 0.0); + set_state(PART:"corner-bottom-left", "default", 0.0); + set_state(PART:"corner-bottom-right", "default", 0.0); + hide_edges(); + } + show_corner_bottom_left() { + set_state(PART:"corner-bottom-left", "visible", 0.0); + set_state(PART:"corner-bottom-right", "default", 0.0); + set_state(PART:"corner-top-left", "default", 0.0); + set_state(PART:"corner-top-right", "default", 0.0); + hide_edges(); + } + show_corner_bottom_right() { + set_state(PART:"corner-bottom-right", "visible", 0.0); + set_state(PART:"corner-bottom-left", "default", 0.0); + set_state(PART:"corner-top-left", "default", 0.0); + set_state(PART:"corner-top-right", "default", 0.0); + hide_edges(); + } + show_edge_left(Float:val) { + set_state(PART:"clipper-edge-left", "visible", 0.0); + set_drag(PART:"edge-drag-left", 0.0, val); + set_state(PART:"clipper-edge-right", "default", 0.0); + set_state(PART:"clipper-edge-top", "default", 0.0); + set_state(PART:"clipper-edge-bottom", "default", 0.0); + hide_corners(); + } + show_edge_right(Float:val) { + set_state(PART:"clipper-edge-right", "visible", 0.0); + set_drag(PART:"edge-drag-right", 0.0, val); + set_state(PART:"clipper-edge-left", "default", 0.0); + set_state(PART:"clipper-edge-top", "default", 0.0); + set_state(PART:"clipper-edge-bottom", "default", 0.0); + hide_corners(); + } + show_edge_top(Float:val) { + set_state(PART:"clipper-edge-top", "visible", 0.0); + set_drag(PART:"edge-drag-top", val, 0.0); + set_state(PART:"clipper-edge-bottom", "default", 0.0); + set_state(PART:"clipper-edge-left", "default", 0.0); + set_state(PART:"clipper-edge-right", "default", 0.0); + hide_corners(); + } + show_edge_bottom(Float:val) { + set_state(PART:"clipper-edge-bottom", "visible", 0.0); + set_drag(PART:"edge-drag-bottom", val, 0.0); + set_state(PART:"clipper-edge-top", "default", 0.0); + set_state(PART:"clipper-edge-left", "default", 0.0); + set_state(PART:"clipper-edge-right", "default", 0.0); + hide_corners(); + } + public message(Msg_Type:type, id, ...) { + if ((type == MSG_FLOAT_SET) && (id == 1)) { + new Float:x, Float:y; + + x = getfarg(2); + y = getfarg(3); + + if (x < 0.0) { + if (y < 0.0) show_corner_top_left(); + else if (y > 1.0) show_corner_bottom_left(); + else show_edge_left(y); + } else if (x > 1.0) { + if (y < 0.0) show_corner_top_right(); + else if (y > 1.0) show_corner_bottom_right(); + else show_edge_right(y); + } else { + if (y < 0.0) show_edge_top(x); + else if (y > 1.0) show_edge_bottom(x); + else { + hide_corners(); + hide_edges(); + } + } + } + } + } + parts { + part { name: "clipper"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 0; + rel1 { to: "pop"; offset: -5 -5; } + rel2 { to: "pop"; offset: 5 5; } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "pop"; mouse_events: 0; + clip_to: "clipper"; + scale: 1; + description { state: "default" 0.0; + min: 30 30; + rel1 { + to: "efl.content"; + offset: -5 -4; + } + rel2 { + to: "efl.content"; + offset: 4 5; + } + image { + normal: "tooltip-base.png"; + border: 7 7 6 8; + } + image.middle: SOLID; + } + } + #define TT_CORNER(name_, rx, ry, ax, ay, ox, oy) \ + part { name: "corner-"name_; mouse_events: 0; \ + clip_to: "clipper"; \ + scale: 1; \ + description { state: "default" 0.0; \ + visible: 0; \ + align: ax ay; \ + FIXED_SIZE(12, 12) \ + rel1 { \ + relative: rx ry; \ + offset: ox oy; \ + to: "pop"; \ + } \ + rel2 { \ + relative: rx ry; \ + offset: ox oy; \ + to: "pop"; \ + } \ + image.normal: "tooltip-corner-"name_"-tip.png"; \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + } + TT_CORNER("top-left", 0, 0, 0, 0, -4, -5); + TT_CORNER("top-right", 1, 0, 1, 0, 3, -5); + TT_CORNER("bottom-left", 0, 1, 0, 1, -4, 2); + TT_CORNER("bottom-right", 1, 1, 1, 1, 3, 2); + #undef TT_CORNER + + #define TT_EDGE_VERT(name_, rx, ax, ox) \ + part { name: "clipper-edge-"name_; type: RECT; \ + clip_to: "clipper"; \ + description { state: "default" 0.0; \ + visible: 0; \ + min: 9 13; \ + align: ax 0.5; \ + fixed: 1 1; \ + rel1 { \ + relative: rx 0.0; \ + offset: ox 0; \ + to: "efl.content"; \ + } \ + rel2 { \ + relative: rx 1.0; \ + offset: ox 0; \ + to: "efl.content"; \ + } \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + } \ + part { name: "edge-area-"name_; type: RECT; mouse_events: 0; \ + clip_to: "clipper-edge-"name_; \ + scale: 1; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + min: 9 13; \ + align: ax 0.5; \ + fixed: 1 1; \ + rel1 { \ + relative: rx 0.0; \ + offset: ox 0; \ + to: "efl.content"; \ + } \ + rel2 { \ + relative: rx 1.0; \ + offset: ox 0; \ + to: "efl.content"; \ + } \ + } \ + } \ + part { name: "edge-drag-"name_; type: RECT; mouse_events: 0; \ + clip_to: "clipper-edge-"name_; \ + scale: 1; \ + dragable { \ + x: 0 0 0; \ + y: 1 1 0; \ + confine: "edge-area-"name_; \ + } \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + min: 9 13; \ + rel1.to: "edge-area-"name_; \ + rel2.to: "edge-area-"name_; \ + } \ + } \ + part { name: "edge-img-"name_; mouse_events: 0; \ + clip_to: "clipper-edge-"name_; \ + description { state: "default" 0.0; \ + FIXED_SIZE(9, 13) \ + align: ax 0.5; \ + rel1.to: "edge-drag-"name_; \ + rel2.to: "edge-drag-"name_; \ + image.normal: "tooltip-edge-"name_"-tip.png"; \ + } \ + } + TT_EDGE_VERT("left", 0, 1, -3); + TT_EDGE_VERT("right", 1, 0, 2); + #undef TT_EDGE_VERT + + #define TT_EDGE_HORIZ(name_, ry, ay, oy) \ + part { name: "clipper-edge-"name_; type: RECT; \ + clip_to: "clipper"; \ + scale: 1; \ + description { state: "default" 0.0; \ + visible: 0; \ + min: 11 9; \ + align: 0.5 ay; \ + fixed: 1 1; \ + rel1 { \ + relative: 0.0 ry; \ + offset: 0 oy; \ + to: "efl.content"; \ + } \ + rel2 { \ + relative: 1.0 ry; \ + offset: 0 oy; \ + to: "efl.content"; \ + } \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + } \ + part { name: "edge-area-"name_; type: RECT; mouse_events: 0; \ + clip_to: "clipper-edge-"name_; \ + scale: 1; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + min: 11 9; \ + align: 0.5 ay; \ + fixed: 1 1; \ + rel1.to: "clipper-edge-"name_; \ + rel2.to: "clipper-edge-"name_; \ + } \ + } \ + part { name: "edge-drag-"name_; type: RECT; mouse_events: 0; \ + clip_to: "clipper-edge-"name_; \ + scale: 1; \ + dragable { \ + x: 1 1 0; \ + y: 0 0 0; \ + confine: "edge-area-"name_; \ + } \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + min: 11 9; \ + rel1.to: "edge-area-"name_; \ + rel2.to: "edge-area-"name_; \ + } \ + } \ + part { name: "edge-img-"name_; mouse_events: 0; \ + clip_to: "clipper-edge-"name_; \ + scale: 1; \ + description { state: "default" 0.0; \ + FIXED_SIZE(11, 9) \ + align: 0.5 ay; \ + rel1.to: "edge-drag-"name_; \ + rel2.to: "edge-drag-"name_; \ + image.normal: "tooltip-edge-"name_"-tip.png"; \ + } \ + } + TT_EDGE_HORIZ("top", 0, 1, -1); + TT_EDGE_HORIZ("bottom", 1, 0, 1); + #undef TT_EDGE_HORIZ + part { name: "clipper_content"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 0; + rel1.to: "efl.content"; + rel2.to: "efl.content"; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { name: "efl.content"; type: SWALLOW; + clip_to: "clipper_content"; + description { state: "default" 0.0; + rel1.offset: 10 10; + rel2.offset: -11 -11; + } + } + programs { + program { name: "show0"; + signal: "efl,action,show"; source: "efl"; + action: ACTION_STOP; + target: "hide0"; + target: "hide1"; + target: "hide2"; + target: "hide3"; + after: "show1"; + after: "show2"; + } + program { name: "show1"; + action: STATE_SET "visible" 0.0; + transition: LINEAR 0.15; + target: "clipper"; + } + program { name: "show2"; + in: 0.1 0.0; + action: STATE_SET "visible" 0.0; + transition: LINEAR 0.15; + target: "clipper_content"; + } + program { name: "hide0"; + signal: "efl,action,hide"; source: "efl"; + action: ACTION_STOP; + target: "show0"; + target: "show1"; + target: "show2"; + after: "hide1"; + after: "hide2"; + after: "hide3"; + } + program { name: "hide1"; + script { + hide_corners(); + hide_edges(); + } + } + program { name: "hide2"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.1; + target: "clipper_content"; + } + program { name: "hide3"; + in: 0.1 0.0; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.1; + target: "clipper"; + } + } + } } -group { "efl/tooltip:transparent"; - inherit: "elm/tooltip/base/transparent"; +group { name: "efl/tooltip:transparent"; + data.item: "pad_x" "10"; + data.item: "pad_y" "10"; + data.item: "transparent" "enabled"; + parts { + part { name: "efl.content"; type: SWALLOW; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; } + } + } } /////////////////////////////////////////////////////////////////////////////// diff --git a/data/elementary/themes/edc/efl/uiclock.edc b/data/elementary/themes/edc/efl/uiclock.edc index ac37fdc793..ce448b37ea 100644 --- a/data/elementary/themes/edc/efl/uiclock.edc +++ b/data/elementary/themes/edc/efl/uiclock.edc @@ -1,5 +1,5 @@ #define DATETIME_FIELD(_pos) \ - swallow { "field"#_pos; \ + swallow { "efl.field"#_pos; \ scale; \ clip_to: "clip"; \ desc { "default"; \ @@ -8,9 +8,9 @@ align: 0.0 0.5; \ fixed: 1 1; \ rel1.relative: 1.0 0.0; \ - rel1.to: "separator"#_pos; \ + rel1.to: "efl.separator"#_pos; \ rel2.relative: 1.0 1.0; \ - rel2.to: "separator"#_pos; \ + rel2.to: "efl.separator"#_pos; \ } \ desc { "enable"; \ inherit: "default"; \ @@ -21,19 +21,19 @@ programs{ \ program { "field_"#_pos"enabled"; \ signal: "field"#_pos",enable"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "enable"; \ - target: "field"#_pos; \ + target: "efl.field"#_pos; \ } \ program { "field_"#_pos"disabled"; \ signal: "field"#_pos",disable"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "default"; \ - target: "field"#_pos; \ + target: "efl.field"#_pos; \ } \ } #define DATETIME_SEPARATOR(_pos, _after) \ - text { "separator"#_pos; \ + text { "efl.separator"#_pos; \ scale; \ effect: SHADOW BOTTOM; \ clip_to: "disclip"; \ @@ -44,11 +44,11 @@ fixed: 1 0; \ rel1 { \ relative: 1.0 0.0; \ - to: "field"#_after; \ + to: "efl.field"#_after; \ } \ rel2 { \ relative: 1.0 1.0; \ - to: "field"#_after; \ + to: "efl.field"#_after; \ } \ color_class: "datetime_separator_text"; \ text { \ @@ -65,17 +65,17 @@ min: 8 10; \ } \ } \ - text { "separator"#_pos"d"; \ + text { "efl.separator"#_pos"d"; \ scale; \ effect: SHADOW BOTTOM; \ clip_to: "disclip2"; \ desc { "default"; \ hid; \ - rel1.to: "separator"#_pos; \ - rel2.to: "separator"#_pos; \ + rel1.to: "efl.separator"#_pos; \ + rel2.to: "efl.separator"#_pos; \ color_class: "datetime_separator_text_disabled"; \ text { \ - text_source: "separator"#_pos; \ + text_source: "efl.separator"#_pos; \ font: "Sans"; size: 10; \ text_class: "datetime_separator_text_disabled"; \ } \ @@ -88,17 +88,17 @@ programs { \ program { \ signal: "field"#_after",enable"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "enable"; \ - target: "separator"#_pos; \ - target: "separator"#_pos"d"; \ + target: "efl.separator"#_pos; \ + target: "efl.separator"#_pos"d"; \ } \ program { \ signal: "field"#_after",disable"; \ - source: "elm"; \ + source: "efl"; \ action: STATE_SET "default"; \ - target: "separator"#_pos; \ - target: "separator"#_pos"d"; \ + target: "efl.separator"#_pos; \ + target: "efl.separator"#_pos"d"; \ } \ } @@ -111,15 +111,15 @@ group { "efl/uiclock"; } rect { "clip"; desc { "default"; - rel1.to: "separator0"; - rel2.to: "separator7"; + rel1.to: "efl.separator0"; + rel2.to: "efl.separator7"; } } rect { "disclip"; clip_to: "clip"; desc { "default"; - rel1.to: "separator0"; - rel2.to: "separator7"; + rel1.to: "efl.separator0"; + rel2.to: "efl.separator7"; } desc { "disabled"; inherit: "default"; @@ -129,8 +129,8 @@ group { "efl/uiclock"; rect { "disclip2";; clip_to: "clip"; desc { "default"; - rel1.to: "separator0"; - rel2.to: "separator7"; + rel1.to: "efl.separator0"; + rel2.to: "efl.separator7"; hid; } desc { "disabled"; @@ -138,7 +138,7 @@ group { "efl/uiclock"; vis; } } - spacer { "separator0";; + spacer { "efl.separator0";; scale; desc { "default"; min: 8 10; @@ -163,17 +163,17 @@ group { "efl/uiclock"; DATETIME_SEPARATOR(7,6) DATETIME_FIELD(7) DATETIME_SEPARATOR(8,7) - spacer { "separator9";; + spacer { "efl.separator9";; desc { "default"; - rel1.to: "separator7"; + rel1.to: "efl.separator7"; rel1.relative: 1.0 0.0; min: 8 10; } } rect { "discover";; desc { "default"; - rel1.to: "separator0"; - rel2.to: "separator7"; + rel1.to: "efl.separator0"; + rel2.to: "efl.separator7"; hid; color: 0 0 0 0; } @@ -182,7 +182,7 @@ group { "efl/uiclock"; vis; } } - rect { "elm.access"; + rect { "efl.access"; repeat; desc { "default"; color: 0 0 0 0; @@ -191,16 +191,16 @@ group { "efl/uiclock"; } programs { program { - signal: "elm,state,disabled"; - source: "elm"; + signal: "efl,state,disabled"; + source: "efl"; action: STATE_SET "disabled"; target: "disclip"; target: "disclip2"; target: "discover"; } program { - signal: "elm,state,enabled"; - source: "elm"; + signal: "efl,state,enabled"; + source: "efl"; action: STATE_SET "default"; target: "disclip"; target: "disclip2"; diff --git a/data/elementary/themes/edc/efl/video.edc b/data/elementary/themes/edc/efl/video.edc index 3a2a658b06..e6de3dd88e 100644 --- a/data/elementary/themes/edc/efl/video.edc +++ b/data/elementary/themes/edc/efl/video.edc @@ -1,3 +1,43 @@ -group { "efl/video"; - inherit: "elm/video/base/default"; +group { name: "efl/video"; + parts { + part { name: "clipper"; type: RECT; + description { state: "default" 0.0; + color: 255 255 255 255; + } + description { state: "darker" 0.0; + color: 128 128 128 255; + } + } + part { name: "efl.video"; type: SWALLOW; mouse_events: 1; + clip_to: "clipper"; + description { state: "default" 0.0; + aspect: 1.0 1.0; aspect_preference: BOTH; + } + } + } + programs { + program { + signal: "efl,video,load"; source: "efl"; + action: STATE_SET "darker" 0.0; + target: "clipper"; + } + program { + signal: "efl,video,play"; source: "efl"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 0.2 CURRENT; + target: "clipper"; + } + program { + signal: "efl,video,end"; source: "efl"; + action: STATE_SET "darker" 0.0; + transition: SINUSOIDAL 0.5 CURRENT; + target: "clipper"; + } + program { + signal: "efl,video,pause"; source: "efl"; + action: STATE_SET "darker" 0.0; + transition: SINUSOIDAL 0.7 CURRENT; + target: "clipper"; + } + } } diff --git a/data/elementary/themes/edc/efl/win.edc b/data/elementary/themes/edc/efl/win.edc index d0b66110f7..b0223d4ebc 100644 --- a/data/elementary/themes/edc/efl/win.edc +++ b/data/elementary/themes/edc/efl/win.edc @@ -1,3 +1,31 @@ group { "efl/win"; - inherit: "elm/win/base/default"; + data.item: "version" "119"; + parts { + rect { "client_clip"; nomouse; } + swallow { "efl.menu"; + clip_to: "client_clip"; + desc { "default"; + rel2.relative: 1 0; + link.base: "efl,action,hide" "efl"; + align: 0.5 0.0; + hid; + } + desc { "visible"; + inherit: "default"; + link.base: "efl,action,show_menu" "efl"; + fixed: 0 1; + vis; + } + } + swallow { "efl.contents"; + clip_to: "client_clip"; + desc { "default"; + } + desc { "with_menu"; + rel1.to: "efl.menu"; + rel1.relative: 0 1; + link.base: "efl,action,show_menu" "efl"; + } + } + } } diff --git a/data/elementary/themes/edc/elm/actionslider.edc b/data/elementary/themes/edc/elm/actionslider.edc index dc382c24bd..985fd640cb 100644 --- a/data/elementary/themes/edc/elm/actionslider.edc +++ b/data/elementary/themes/edc/elm/actionslider.edc @@ -36,7 +36,7 @@ group { name: "elm/actionslider/base/default"; fill.smooth: 0; } } - part { name: "icon.dragable.area"; type: SPACER; + part { name: "icon_dragable_area"; type: SPACER; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; @@ -105,14 +105,14 @@ group { name: "elm/actionslider/base/default"; fixed: 1 1; min: 40 10; align: 0.5 0.5; - rel1.to: "icon.dragable.area"; + rel1.to: "icon_dragable_area"; rel2 { relative: 0.0 1.0; - to: "icon.dragable.area"; + to: "icon_dragable_area"; } } dragable { - confine: "icon.dragable.area"; + confine: "icon_dragable_area"; x: 1 1 0; y: 0 0 0; } @@ -123,9 +123,9 @@ group { name: "elm/actionslider/base/default"; min: 40 10; color: 0 0 0 0; rel1.to_x: "elm.drag_button_base"; - rel1.to_y: "icon.dragable.area"; + rel1.to_y: "icon_dragable_area"; rel2.to_x: "elm.drag_button_base"; - rel2.to_y: "icon.dragable.area"; + rel2.to_y: "icon_dragable_area"; } dragable { events: "elm.drag_button_base"; diff --git a/data/elementary/themes/edc/elm/bubble.edc b/data/elementary/themes/edc/elm/bubble.edc index 4fd5a28025..95214e774f 100644 --- a/data/elementary/themes/edc/elm/bubble.edc +++ b/data/elementary/themes/edc/elm/bubble.edc @@ -28,7 +28,7 @@ group { name: "elm/bubble/top_left/default"; visible: 1; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -164,13 +164,13 @@ group { name: "elm/bubble/top_left/default"; signal: "elm,state,icon,visible"; source: "elm"; action: STATE_SET "visible" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "edje,state,rtl"; source: "edje"; @@ -217,7 +217,7 @@ group { name: "elm/bubble/top_right/default"; visible: 1; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -350,13 +350,13 @@ group { name: "elm/bubble/top_right/default"; signal: "elm,state,icon,visible"; source: "elm"; action: STATE_SET "visible" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "edje,state,rtl"; source: "edje"; @@ -404,7 +404,7 @@ group { name: "elm/bubble/bottom_left/default"; visible: 1; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -534,13 +534,13 @@ group { name: "elm/bubble/bottom_left/default"; signal: "elm,state,icon,visible"; source: "elm"; action: STATE_SET "visible" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "edje,state,rtl"; source: "edje"; @@ -586,7 +586,7 @@ group { name: "elm/bubble/bottom_right/default"; visible: 1; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -716,13 +716,13 @@ group { name: "elm/bubble/bottom_right/default"; signal: "elm,state,icon,visible"; source: "elm"; action: STATE_SET "visible" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.icon"; - target: "sizer.content"; + target: "sizer_content"; } program { signal: "edje,state,rtl"; source: "edje"; diff --git a/data/elementary/themes/edc/elm/button.edc b/data/elementary/themes/edc/elm/button.edc index c5c48d3a21..cd0f4eb190 100644 --- a/data/elementary/themes/edc/elm/button.edc +++ b/data/elementary/themes/edc/elm/button.edc @@ -37,7 +37,7 @@ group { name: "elm/button/base/default"; if (m1 == (ICON | LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"event", "default", 0.0); if (!p) { set_state(PART:"elm.text", "visible", 0.0); @@ -48,7 +48,7 @@ group { name: "elm/button/base/default"; } } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); @@ -56,7 +56,7 @@ group { name: "elm/button/base/default"; } else if (m1 == (ICON)) { if (!d) { set_state(PART:"elm.swallow.content", "icononly", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"event", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); if (!p) @@ -65,7 +65,7 @@ group { name: "elm/button/base/default"; set_state(PART:"icon_clip", "pressed", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); @@ -73,7 +73,7 @@ group { name: "elm/button/base/default"; } else if (m1 == (LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"event", "default", 0.0); if (!p) @@ -82,7 +82,7 @@ group { name: "elm/button/base/default"; set_state(PART:"elm.text", "pressed_textonly", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "disabled_textonly", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); @@ -90,12 +90,12 @@ group { name: "elm/button/base/default"; } else { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); } @@ -179,7 +179,7 @@ group { name: "elm/button/base/default"; visible: 1; } } - text { "sizer.content"; nomouse; + text { "sizer_content"; nomouse; scale: 1; desc { "default"; // fixed: 1 1; @@ -419,14 +419,14 @@ group { name: "elm/button/base/anchor"; if (m1 == (ICON | LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"bar", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"bar", "disabled", 0.0); @@ -435,14 +435,14 @@ group { name: "elm/button/base/anchor"; } else if (m1 == (ICON)) { if (!d) { set_state(PART:"elm.swallow.content", "icononly", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"bar", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"bar", "disabled", 0.0); @@ -451,14 +451,14 @@ group { name: "elm/button/base/anchor"; } else if (m1 == (LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "textonly", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"bar", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "disabled_textonly", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"bar", "disabled", 0.0); @@ -467,13 +467,13 @@ group { name: "elm/button/base/anchor"; } else { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"bar", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"bar", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); @@ -533,7 +533,7 @@ group { name: "elm/button/base/anchor"; visible: 1; } } - text { "sizer.content"; nomouse; + text { "sizer_content"; nomouse; scale: 1; desc { "default"; visible: 0; @@ -1039,13 +1039,13 @@ group { name: "elm/button/base/hoversel_vertical_entry/default"; if (m1 == (ICON | LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); @@ -1053,13 +1053,13 @@ group { name: "elm/button/base/hoversel_vertical_entry/default"; } else if (m1 == (ICON)) { if (!d) { set_state(PART:"elm.swallow.content", "icononly", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); @@ -1067,13 +1067,13 @@ group { name: "elm/button/base/hoversel_vertical_entry/default"; } else if (m1 == (LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "textonly", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "disabled_textonly", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); @@ -1081,12 +1081,12 @@ group { name: "elm/button/base/hoversel_vertical_entry/default"; } else { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"icon_clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"icon_clip", "disabled", 0.0); set_state(PART:"event", "disabled", 0.0); } @@ -1160,7 +1160,7 @@ group { name: "elm/button/base/hoversel_vertical_entry/default"; visible: 1; } } - text { "sizer.content"; nomouse; + text { "sizer_content"; nomouse; scale: 1; desc { "default"; fixed: 1 1; @@ -1532,7 +1532,7 @@ group { name: "elm/button/base/hoversel_horizontal_entry/default"; } } program { name: "button_press2"; - action: SIGNAL_EMIT "elm,action,press" ""; + action: SIGNAL_EMIT "elm,action,press" "elm"; after: "button_press_anim"; } program { name: "button_press_anim"; @@ -1551,7 +1551,7 @@ group { name: "elm/button/base/hoversel_horizontal_entry/default"; } } program { name: "button_unpress2"; - action: SIGNAL_EMIT "elm,action,unpress" ""; + action: SIGNAL_EMIT "elm,action,unpress" "elm"; } program { name: "button_unpress_anim"; action: STATE_SET "default" 0.0; @@ -1577,7 +1577,7 @@ group { name: "elm/button/base/hoversel_horizontal_entry/default"; after: "button_press_anim"; } program { name: "button_click2"; - action: SIGNAL_EMIT "elm,action,click" ""; + action: SIGNAL_EMIT "elm,action,click" "elm"; } program { name: "access_pressed"; signal: "elm,action,anim,activate"; @@ -1714,7 +1714,7 @@ group { name: "elm/button/base/hoversel_horizontal_entry/default"; } } program { name: "button_click2"; - action: SIGNAL_EMIT "elm,action,click" ""; + action: SIGNAL_EMIT "elm,action,click" "elm"; } program { name: "disable"; signal: "elm,state,disabled"; diff --git a/data/elementary/themes/edc/elm/calendar.edc b/data/elementary/themes/edc/elm/calendar.edc index 8dfffc169c..cc60f67082 100644 --- a/data/elementary/themes/edc/elm/calendar.edc +++ b/data/elementary/themes/edc/elm/calendar.edc @@ -98,7 +98,7 @@ } #define CH(_pos) \ - part { name: "ch_"#_pos".base"; type: SPACER; \ + part { name: "ch_"#_pos"_base"; type: SPACER; \ description { state: "default" 0.0; \ rel1 { \ relative: (_pos % 7 / 7) 0.0; \ @@ -110,13 +110,13 @@ } \ } \ } \ - part { name: "ch_"#_pos".text"; type: TEXT; mouse_events: 0; \ + part { name: "elm.ch_"#_pos".text"; type: TEXT; mouse_events: 0; \ effect: SHADOW BOTTOM; \ scale: 1; \ - clip_to: "ch_"#_pos".clipper"; \ + clip_to: "ch_"#_pos"_clipper"; \ description { state: "default" 0.0; \ - rel1.to: "ch_"#_pos".base"; \ - rel2.to: "ch_"#_pos".base"; \ + rel1.to: "ch_"#_pos"_base"; \ + rel2.to: "ch_"#_pos"_base"; \ text { font: FN; size: 8; \ min: 1 1; \ ellipsis: -1; \ @@ -125,15 +125,15 @@ color_class: "calendar_weekday_text"; \ } \ } \ - part { name: "ch_"#_pos".clipper"; type: RECT; \ + part { name: "ch_"#_pos"_clipper"; type: RECT; \ description { state: "default" 0.0; \ - rel1.to: "ch_"#_pos".base"; \ - rel2.to: "ch_"#_pos".base"; \ + rel1.to: "ch_"#_pos"_base"; \ + rel2.to: "ch_"#_pos"_base"; \ } \ } #define CIT(_pos) \ - part { name: "cit_"#_pos".rect"; type: SPACER; \ + part { name: "cit_"#_pos"_rect"; type: SPACER; \ description { state: "default" 0.0; \ rel1 { \ relative: (_pos % 7 / 7) \ @@ -147,18 +147,18 @@ } \ } \ } \ - part { name: "cit_"#_pos".event"; type: RECT; repeat_events: 1; \ + part { name: "cit_"#_pos"_event"; type: RECT; repeat_events: 1; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ color: 0 0 0 0; \ } \ } \ - part { name: "cit_"#_pos".pat"; mouse_events: 0; \ + part { name: "cit_"#_pos"_pat"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".selected"; \ + rel1.to: "cit_"#_pos"_selected"; \ rel1.offset: 1 1; \ - rel2.to: "cit_"#_pos".selected"; \ + rel2.to: "cit_"#_pos"_selected"; \ rel2.offset: -2 -2; \ image.normal: "diagonal_stripes.png"; \ color: 255 255 255 25; \ @@ -171,10 +171,10 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".selected"; mouse_events: 0; \ + part { name: "cit_"#_pos"_selected"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ image.normal: "outline_glow.png"; \ image.border: 4 4 4 4; \ color_class: "calendar_day_selected"; \ @@ -185,10 +185,10 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".selected2"; mouse_events: 0; \ + part { name: "cit_"#_pos"_selected2"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ image.normal: "outline_glow.png"; \ image.border: 4 4 4 4; \ color: 255 255 255 128; \ @@ -200,10 +200,10 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".glow"; mouse_events: 0; \ + part { name: "cit_"#_pos"_glow"; mouse_events: 0; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ image.normal: "box_glow.png"; \ image.border: 12 12 12 12; \ image.middle: 0; \ @@ -215,11 +215,11 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \ + part { name: "elm.cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".rect"; \ - rel2.to: "cit_"#_pos".rect"; \ + rel1.to: "cit_"#_pos"_rect"; \ + rel2.to: "cit_"#_pos"_rect"; \ text.style: "calendar_date_style"; \ text.min: 1 1; \ text.ellipsis: -1; \ @@ -245,16 +245,16 @@ text.style: "calendar_date_weekend2_style"; \ } \ } \ - part { name: "cit_"#_pos".check"; mouse_events: 0; \ + part { name: "cit_"#_pos"_check"; mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ fixed: 1 1; \ rel1 { \ - to: "cit_"#_pos".rect"; \ + to: "cit_"#_pos"_rect"; \ relative: 0.6 0.5; \ } \ rel2 { \ - to: "cit_"#_pos".rect"; \ + to: "cit_"#_pos"_rect"; \ relative: 0.6 0.5; \ } \ min: 16 16; \ @@ -270,173 +270,173 @@ visible: 1; \ } \ } \ - part { name: "cit_"#_pos".access"; type: RECT; repeat_events: 1; \ + part { name: "elm.cit_"#_pos".access"; type: RECT; repeat_events: 1; \ description { state: "default" 0.0; \ - rel1.to: "cit_"#_pos".event"; \ - rel2.to: "cit_"#_pos".event"; \ + rel1.to: "cit_"#_pos"_event"; \ + rel2.to: "cit_"#_pos"_event"; \ color: 0 0 0 0; \ } \ } \ programs { \ program { \ - name: "cit_"#_pos".go_active"; \ + name: "cit_"#_pos"_go_active"; \ signal: "cit_"#_pos",selected"; \ source: "elm"; \ action: STATE_SET "selected" 0.0; \ - target: "cit_"#_pos".pat"; \ - target: "cit_"#_pos".selected"; \ + target: "cit_"#_pos"_pat"; \ + target: "cit_"#_pos"_selected"; \ } \ program { \ - name: "cit_"#_pos".go_passive"; \ + name: "cit_"#_pos"_go_passive"; \ signal: "cit_"#_pos",unselected"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".pat"; \ - target: "cit_"#_pos".selected"; \ + target: "cit_"#_pos"_pat"; \ + target: "cit_"#_pos"_selected"; \ } \ program { \ - name: "cit_"#_pos".focus_highlighted"; \ + name: "cit_"#_pos"_focus_highlighted"; \ signal: "cit_"#_pos",focused"; \ source: "elm"; \ script { \ set_int(item_focus_enabled, 1); \ set_int(last_focused_item, _pos); \ if (get_int(win_focus_enabled) == 1) \ - set_state(PART:"cit_"#_pos".glow", "focused", 0.0); \ + set_state(PART:"cit_"#_pos"_glow", "focused", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".focus_unhighlighed"; \ + name: "cit_"#_pos"_focus_unhighlighed"; \ signal: "cit_"#_pos",unfocused"; \ source: "elm"; \ script { \ set_int(item_focus_enabled, 0); \ - set_state(PART:"cit_"#_pos".glow", "default", 0.0); \ + set_state(PART:"cit_"#_pos"_glow", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".is_today"; \ + name: "cit_"#_pos"_is_today"; \ signal: "cit_"#_pos",today"; \ source: "elm"; \ action: STATE_SET "today" 0.0; \ - target: "cit_"#_pos".text"; \ + target: "elm.cit_"#_pos".text"; \ } \ program { \ - name: "cit_"#_pos".not_today"; \ + name: "cit_"#_pos"_not_today"; \ signal: "cit_"#_pos",not_today"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".text"; \ + target: "elm.cit_"#_pos".text"; \ } \ program { \ - name: "cit_"#_pos".enable"; \ + name: "cit_"#_pos"_enable"; \ signal: "cit_"#_pos",enable"; \ source: "elm"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \ if (!strcmp(st, "disabled")) \ - set_state(PART:"cit_"#_pos".text", "default", 0.0); \ + set_state(PART:"elm.cit_"#_pos".text", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".disable"; \ + name: "cit_"#_pos"_disable"; \ signal: "cit_"#_pos",disable"; \ source: "elm"; \ action: STATE_SET "disabled" 0.0; \ - target: "cit_"#_pos".text"; \ + target: "elm.cit_"#_pos".text"; \ } \ program { \ - source: "cit_"#_pos".clicked"; \ + source: "cit_"#_pos"_clicked"; \ signal: "mouse,down,1"; \ - source: "cit_"#_pos".event"; \ + source: "cit_"#_pos"_event"; \ action: STATE_SET "highlighted" 0.0; \ - target: "cit_"#_pos".selected2"; \ + target: "cit_"#_pos"_selected2"; \ } \ program { \ - source: "cit_"#_pos".clicked"; \ + source: "cit_"#_pos"_clicked"; \ signal: "mouse,up,1"; \ - source: "cit_"#_pos".event"; \ + source: "cit_"#_pos"_event"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".selected2"; \ + target: "cit_"#_pos"_selected2"; \ } \ program { \ - source: "cit_"#_pos".clicked"; \ + source: "cit_"#_pos"_clicked"; \ signal: "mouse,clicked,1"; \ - source: "cit_"#_pos".event"; \ + source: "cit_"#_pos"_event"; \ action: SIGNAL_EMIT "elm,action,selected" #_pos; \ } \ program { \ - name: "cit_"#_pos".clear"; \ + name: "cit_"#_pos"_clear"; \ signal: "cit_"#_pos",clear"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ - target: "cit_"#_pos".check"; \ - after: "cit_"#_pos".weekends_clear"; \ - after: "cit_"#_pos".holiday_clear"; \ + target: "cit_"#_pos"_check"; \ + after: "cit_"#_pos"_weekends_clear"; \ + after: "cit_"#_pos"_holiday_clear"; \ } \ program { \ - name: "cit_"#_pos".weekends_clear"; \ + name: "cit_"#_pos"_weekends_clear"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \ if (!strcmp(st, "weekend/day1") || !strcmp(st, "weekend/day2")) \ - set_state(PART:"cit_"#_pos".text", "default", 0.0); \ + set_state(PART:"elm.cit_"#_pos".text", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".holiday_clear"; \ + name: "cit_"#_pos"_holiday_clear"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \ if (!strcmp(st, "holiday")) \ - set_state(PART:"cit_"#_pos".text", "default", 0.0); \ + set_state(PART:"elm.cit_"#_pos".text", "default", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".checked"; \ + name: "cit_"#_pos"_checked"; \ signal: "cit_"#_pos",checked"; \ source: "elm"; \ action: STATE_SET "visible" 0.0; \ - target: "cit_"#_pos".check"; \ + target: "cit_"#_pos"_check"; \ } \ program { \ - name: "cit_"#_pos".holiday"; \ + name: "cit_"#_pos"_holiday"; \ signal: "cit_"#_pos",holiday"; \ source: "elm"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \ if (strcmp(st, "today")) \ - set_state(PART:"cit_"#_pos".text", "holiday", 0.0); \ + set_state(PART:"elm.cit_"#_pos".text", "holiday", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".weekend/day1"; \ + name: "cit_"#_pos"_weekend/day1"; \ signal: "cit_"#_pos",weekend/day1"; \ source: "elm"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \ if ((strcmp(st, "today")) && (strcmp(st, "holiday")) )\ - set_state(PART:"cit_"#_pos".text", "weekend/day1", 0.0); \ + set_state(PART:"elm.cit_"#_pos".text", "weekend/day1", 0.0); \ } \ } \ program { \ - name: "cit_"#_pos".weekend/day2"; \ + name: "cit_"#_pos"_weekend/day2"; \ signal: "cit_"#_pos",weekend/day2"; \ source: "elm"; \ script { \ new st[31]; \ new Float:vl; \ - get_state(PART:"cit_"#_pos".text", st, 30, vl); \ + get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \ if ((strcmp(st, "today")) && (strcmp(st, "holiday")) )\ - set_state(PART:"cit_"#_pos".text", "weekend/day2", 0.0); \ + set_state(PART:"elm.cit_"#_pos".text", "weekend/day2", 0.0); \ } \ } \ } diff --git a/data/elementary/themes/edc/elm/check.edc b/data/elementary/themes/edc/elm/check.edc index 1a1cfd436c..4d71b41739 100644 --- a/data/elementary/themes/edc/elm/check.edc +++ b/data/elementary/themes/edc/elm/check.edc @@ -14,7 +14,7 @@ group { name: "elm/check/base/default"; if (m1 == (ICON | LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"base", "default", 0.0); @@ -22,7 +22,7 @@ group { name: "elm/check/base/default"; set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"base", "disabled", 0.0); @@ -32,7 +32,7 @@ group { name: "elm/check/base/default"; } else if (m1 == (ICON)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"base", "default", 0.0); @@ -40,7 +40,7 @@ group { name: "elm/check/base/default"; set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "disabled", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"base", "disabled", 0.0); @@ -50,7 +50,7 @@ group { name: "elm/check/base/default"; } else if (m1 == (LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"base", "default", 0.0); @@ -58,7 +58,7 @@ group { name: "elm/check/base/default"; set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"base", "disabled", 0.0); @@ -68,7 +68,7 @@ group { name: "elm/check/base/default"; } else { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"base", "default", 0.0); @@ -76,7 +76,7 @@ group { name: "elm/check/base/default"; set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"base", "disabled", 0.0); @@ -175,7 +175,7 @@ group { name: "elm/check/base/default"; min: 16 16; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -347,7 +347,7 @@ group { name: "elm/check/base/toggle"; if (m1 == (ICON | LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"clip", "default", 0.0); @@ -359,7 +359,7 @@ group { name: "elm/check/base/toggle"; set_state(PART:"offrect", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -373,7 +373,7 @@ group { name: "elm/check/base/toggle"; } else if (m1 == (ICON)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"clip", "default", 0.0); @@ -385,7 +385,7 @@ group { name: "elm/check/base/toggle"; set_state(PART:"offrect", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "disabled", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -399,7 +399,7 @@ group { name: "elm/check/base/toggle"; } else if (m1 == (LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"clip", "default", 0.0); @@ -411,7 +411,7 @@ group { name: "elm/check/base/toggle"; set_state(PART:"offrect", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -425,7 +425,7 @@ group { name: "elm/check/base/toggle"; } else { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"shadow", "default", 0.0); set_state(PART:"clip", "default", 0.0); @@ -437,7 +437,7 @@ group { name: "elm/check/base/toggle"; set_state(PART:"offrect", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"shadow", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -679,7 +679,7 @@ group { name: "elm/check/base/toggle"; min: 16 16; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; diff --git a/data/elementary/themes/edc/elm/clock.edc b/data/elementary/themes/edc/elm/clock.edc index f3bbd44167..43072a65d1 100644 --- a/data/elementary/themes/edc/elm/clock.edc +++ b/data/elementary/themes/edc/elm/clock.edc @@ -287,7 +287,7 @@ group { name: "elm/clock/flipampm/default"; } #define SWALLOW_PART(_NAME, _R1X, _R1Y, _R2X, _R2Y) \ - part { name: _NAME; \ + part { name: "elm."_NAME; \ type: SWALLOW; \ description { state: "default" 0.0; \ rel1.relative: _R1X _R1Y; \ diff --git a/data/elementary/themes/edc/elm/colorsel.edc b/data/elementary/themes/edc/elm/colorsel.edc index cb5af47238..610791e6bc 100644 --- a/data/elementary/themes/edc/elm/colorsel.edc +++ b/data/elementary/themes/edc/elm/colorsel.edc @@ -660,7 +660,8 @@ group { name: "elm/colorselector/item/default"; color: 255 255 255 64; } } - part { name: "color_obj"; type: SWALLOW; + alias: "color_obj" "elm.swallow.color_obj"; + part { name: "elm.swallow.color_obj"; type: SWALLOW; clip_to: "clipper"; description { state: "default" 0.0; rel1.offset: 3 3; diff --git a/data/elementary/themes/edc/elm/dayselector.edc b/data/elementary/themes/edc/elm/dayselector.edc index 8c83ae5ec5..98ffd034b8 100644 --- a/data/elementary/themes/edc/elm/dayselector.edc +++ b/data/elementary/themes/edc/elm/dayselector.edc @@ -9,8 +9,9 @@ #define DAYSELECOR_DAY_STATE_SELECTED 3 #define DAYSELECTOR_DAY(_pos, _after)\ + alias: "day"#_pos "elm.swallow.day"#_pos; \ part {\ - name: "day"#_pos;\ + name: "elm.swallow.day"#_pos;\ type: SWALLOW;\ scale: 1;\ clip_to: "clipper";\ @@ -21,12 +22,12 @@ fixed: 1 0;\ rel1 {\ relative: 1.0 0.0;\ - to: "day"#_after;\ + to: "elm.swallow.day"#_after;\ offset: 0 0;\ }\ rel2 {\ relative: 1.0 1.0;\ - to: "day"#_after;\ + to: "elm.swallow.day"#_after;\ }\ }\ description { state: "visible" 0.0;\ @@ -38,24 +39,24 @@ programs{\ program {\ name: "day"#_pos"visible";\ - signal: "day"#_pos",visible";\ + signal: "elm,day"#_pos",visible";\ source: "elm";\ action: STATE_SET "visible" 0.0;\ - target: "day"#_pos;\ + target: "elm.swallow.day"#_pos;\ }\ program {\ name: "day"#_pos"notvisible";\ - signal: "day"#_pos",default";\ + signal: "elm,day"#_pos",default";\ source: "elm";\ action: STATE_SET "default" 0.0;\ - target: "day"#_pos;\ + target: "elm.swallow.day"#_pos;\ }\ } group { name: "elm/dayselector/base/default"; parts { part { - name: "day0"; + name: "elm.swallow.day0"; type: SWALLOW; scale: 1; clip_to: "clipper"; @@ -82,8 +83,8 @@ group { name: "elm/dayselector/base/default"; type: RECT; description { state: "default" 0.0; - rel1.to: "day0"; - rel2.to: "day6"; + rel1.to: "elm.swallow.day0"; + rel2.to: "elm.swallow.day6"; } description { state: "visible" 0.0; @@ -125,17 +126,17 @@ group { name: "elm/dayselector/base/default"; } program { name: "day0_visible"; - signal: "day0,visible"; + signal: "elm,day0,visible"; source: "elm"; action: STATE_SET "visible" 0.0; - target: "day0"; + target: "elm.swallow.day0"; } program { name: "day0_default"; - signal: "day0,default"; + signal: "elm,day0,default"; source: "elm"; action: STATE_SET "default" 0.0; - target: "day0"; + target: "elm.swallow.day0"; } } } diff --git a/data/elementary/themes/edc/elm/entry.edc b/data/elementary/themes/edc/elm/entry.edc index 189bf968d7..303857db07 100644 --- a/data/elementary/themes/edc/elm/entry.edc +++ b/data/elementary/themes/edc/elm/entry.edc @@ -854,8 +854,6 @@ group { name: "elm/entry/base-single/default"; group { name: "elm/entry/base-single/spinner/default"; alias: "elm/entry/base-single/spinner/vertical"; - alias: "elm/entry/base-single/spin_button/default"; - alias: "elm/entry/base-single/spin_button/vertical"; inherit: "elm/entry/base-single/default"; styles { style { name: "entry_single_spinner_style"; diff --git a/data/elementary/themes/edc/elm/ews.edc b/data/elementary/themes/edc/elm/ews.edc index fd654f37a2..82e28626b9 100644 --- a/data/elementary/themes/edc/elm/ews.edc +++ b/data/elementary/themes/edc/elm/ews.edc @@ -167,7 +167,7 @@ group { name: "elm/ews/decoration/default"; rel2.relative: 1.0 0.85; } } - part { name: "e.swallow.icon"; type: SWALLOW; nomouse; + part { name: "elm.swallow.icon"; type: SWALLOW; nomouse; description { state: "default" 0.0; rel1.to: "icon"; rel1.relative: 0.15 0.15; diff --git a/data/elementary/themes/edc/elm/genlist.edc b/data/elementary/themes/edc/elm/genlist.edc index b3843d8e94..5cd6838cb8 100644 --- a/data/elementary/themes/edc/elm/genlist.edc +++ b/data/elementary/themes/edc/elm/genlist.edc @@ -1975,7 +1975,7 @@ group { "elm/genlist/item/icon_top_text_bottom/default"; nomouse; target: "elm.text.flip"; } //##// - text { "sizer.content"; + text { "sizer_content"; scale; desc { "default"; fixed: 1 1; @@ -2009,8 +2009,8 @@ group { "elm/genlist/item/icon_top_text_bottom/default"; nomouse; desc { "default"; fixed: 1 1; aspect: 1.0 1.0; - rel1.to: "sizer.content"; - rel2.to: "sizer.content"; + rel1.to: "sizer_content"; + rel2.to: "sizer_content"; link.base: "elm,state,flip,disabled"; } desc { "flip_enabled"; @@ -2031,7 +2031,7 @@ COMPRESS_ODD("elm/genlist/item_compress_odd/icon_top_text_bottom/default", "elm/ group { "elm/genlist/tree/icon_top_text_bottom/default"; inherit: "elm/genlist/item/icon_top_text_bottom/default"; parts { - image { "sizer.content"; + image { "sizer_content"; desc { "default"; rel1.to_x: "arrow"; rel1.offset: 1 2; diff --git a/data/elementary/themes/edc/elm/icon_fdo.edc b/data/elementary/themes/edc/elm/icon_fdo.edc index c608afd115..86659b4716 100644 --- a/data/elementary/themes/edc/elm/icon_fdo.edc +++ b/data/elementary/themes/edc/elm/icon_fdo.edc @@ -18,6 +18,7 @@ * - src/bin/elementary/test_icon.c (elementary_test -to "Icon Standard") * - data/elementary/themes/Makefile.am * - data/Makefile.am (only for new dirs) + * - data/elementary/themes/fdo/index.theme (only for new dirs) * - elm_icon documentation ????? really? * - don't forget to run "make distcheck" * @@ -588,6 +589,7 @@ FLAG(CTX, "flag-za") //// mimetypes ////////////////////////////////////////////////////////////// #define CTX "mimetypes" +ICO2(CTX, "inode-directory") // TODO ... don't really know about this one (they are LOTS of icons) #undef CTX diff --git a/data/elementary/themes/edc/elm/label.edc b/data/elementary/themes/edc/elm/label.edc index 99227d8067..477f4cbad5 100644 --- a/data/elementary/themes/edc/elm/label.edc +++ b/data/elementary/themes/edc/elm/label.edc @@ -1,3 +1,10 @@ +#define HORIZONTAL_FIXED \ + description { state: "horizontal_fixed" 0.0; \ + inherit: "default" 0.0; \ + fixed: 1 0; \ + text.min: 0 1; \ + } + group { name: "elm/label/base/default"; styles { style { name: "label_style"; @@ -28,11 +35,7 @@ group { name: "elm/label/base/default"; min: 1 1; } } - description { state: "horizontal_fixed" 0.0; - inherit: "default" 0.0; - fixed: 1 0; - text.min: 0 1; - } + HORIZONTAL_FIXED } } programs { @@ -62,6 +65,7 @@ group { name: "elm/label/base/default/left"; parts { textblock { "elm.text"; desc { "default"; text.style: "label_style_left"; } + HORIZONTAL_FIXED } } } @@ -79,6 +83,7 @@ group { name: "elm/label/base/default/right"; parts { textblock { "elm.text"; desc { "default"; text.style: "label_style_right"; } + HORIZONTAL_FIXED } } } @@ -509,3 +514,4 @@ group { name: "elm/label/base/slide_bounce"; } } } +#undef HORIZONTAL_FIXED diff --git a/data/elementary/themes/edc/elm/multibuttonentry.edc b/data/elementary/themes/edc/elm/multibuttonentry.edc index cefb816419..63ad74ff3d 100644 --- a/data/elementary/themes/edc/elm/multibuttonentry.edc +++ b/data/elementary/themes/edc/elm/multibuttonentry.edc @@ -18,7 +18,9 @@ group { name: "elm/multibuttonentry/base/default"; rel2.to: "bg"; } } - part { name: "box.swallow"; type: SWALLOW; + /* this widget was released with non-namespaced parts in legacy api */ + alias: "box.swallow" "elm.swallow.box"; + part { name: "elm.swallow.box"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; diff --git a/data/elementary/themes/edc/elm/panel.edc b/data/elementary/themes/edc/elm/panel.edc index ad3bb5e9ac..02dbdadf8f 100644 --- a/data/elementary/themes/edc/elm/panel.edc +++ b/data/elementary/themes/edc/elm/panel.edc @@ -13,7 +13,7 @@ group { name: "elm/scroller/panel/default"; group { name: "elm/scroller/panel/left/default"; parts { - part { name: "panel_area"; + part { name: "elm.panel_area"; type: SWALLOW; description { state: "default" 0.0; rel2.relative: 0.0 1.0; @@ -26,16 +26,16 @@ group { name: "elm/scroller/panel/left/default"; visible: 1; } } - part { name: "event_area"; + part { name: "elm.event_area"; type: SWALLOW; description { state: "default" 0.0; rel1 { relative: 1.0 0.0; - to: "panel_area"; + to: "elm.panel_area"; } rel2 { relative: 1.0 1.0; - to: "panel_area"; + to: "elm.panel_area"; } align: 0.0 0.5; fixed: 1 1; @@ -50,16 +50,16 @@ group { name: "elm/scroller/panel/left/default"; type: RECT; repeat_events: 1; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 0 0 0 0; } } part { name: "bg"; type: RECT; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 64 64 64 255; visible: 0; } @@ -71,8 +71,8 @@ group { name: "elm/scroller/panel/left/default"; part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; visible: 0; } description { state: "visible" 0.0; @@ -86,8 +86,8 @@ group { name: "elm/scroller/panel/left/default"; signal: "elm,state,content,visible"; source: "elm"; action: STATE_SET "visible" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } @@ -95,8 +95,8 @@ group { name: "elm/scroller/panel/left/default"; signal: "elm,state,content,hidden"; source: "elm"; action: STATE_SET "default" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } @@ -105,7 +105,7 @@ group { name: "elm/scroller/panel/left/default"; group { name: "elm/scroller/panel/right/default"; parts { - part { name: "event_area"; + part { name: "elm.event_area"; type: SWALLOW; description { state: "default" 0.0; rel2.relative: 0.0 1.0; @@ -118,16 +118,16 @@ group { name: "elm/scroller/panel/right/default"; visible: 1; } } - part { name: "panel_area"; + part { name: "elm.panel_area"; type: SWALLOW; description { state: "default" 0.0; rel1 { relative: 1.0 0.0; - to: "event_area"; + to: "elm.event_area"; } rel2 { relative: 1.0 1.0; - to: "event_area"; + to: "elm.event_area"; } align: 0.0 0.5; fixed: 1 1; @@ -142,16 +142,16 @@ group { name: "elm/scroller/panel/right/default"; type: RECT; repeat_events: 1; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 0 0 0 0; } } part { name: "bg"; type: RECT; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 64 64 64 255; visible: 0; } @@ -163,8 +163,8 @@ group { name: "elm/scroller/panel/right/default"; part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; visible: 0; } description { state: "visible" 0.0; @@ -178,8 +178,8 @@ group { name: "elm/scroller/panel/right/default"; signal: "elm,state,content,visible"; source: "elm"; action: STATE_SET "visible" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } @@ -187,8 +187,8 @@ group { name: "elm/scroller/panel/right/default"; signal: "elm,state,content,hidden"; source: "elm"; action: STATE_SET "default" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } @@ -197,7 +197,7 @@ group { name: "elm/scroller/panel/right/default"; group { name: "elm/scroller/panel/top/default"; parts { - part { name: "panel_area"; + part { name: "elm.panel_area"; type: SWALLOW; description { state: "default" 0.0; rel2.relative: 1.0 0.0; @@ -210,16 +210,16 @@ group { name: "elm/scroller/panel/top/default"; visible: 1; } } - part { name: "event_area"; + part { name: "elm.event_area"; type: SWALLOW; description { state: "default" 0.0; rel1 { relative: 0.0 1.0; - to: "panel_area"; + to: "elm.panel_area"; } rel2 { relative: 1.0 1.0; - to: "panel_area"; + to: "elm.panel_area"; } align: 0.5 0.0; fixed: 1 1; @@ -234,16 +234,16 @@ group { name: "elm/scroller/panel/top/default"; type: RECT; repeat_events: 1; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 0 0 0 0; } } part { name: "bg"; type: RECT; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 64 64 64 255; visible: 0; } @@ -255,8 +255,8 @@ group { name: "elm/scroller/panel/top/default"; part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; visible: 0; } description { state: "visible" 0.0; @@ -270,8 +270,8 @@ group { name: "elm/scroller/panel/top/default"; signal: "elm,state,content,visible"; source: "elm"; action: STATE_SET "visible" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } @@ -279,8 +279,8 @@ group { name: "elm/scroller/panel/top/default"; signal: "elm,state,content,hidden"; source: "elm"; action: STATE_SET "default" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } @@ -289,7 +289,7 @@ group { name: "elm/scroller/panel/top/default"; group { name: "elm/scroller/panel/bottom/default"; parts { - part { name: "event_area"; + part { name: "elm.event_area"; type: SWALLOW; description { state: "default" 0.0; rel2.relative: 1.0 0.0; @@ -302,16 +302,16 @@ group { name: "elm/scroller/panel/bottom/default"; visible: 1; } } - part { name: "panel_area"; + part { name: "elm.panel_area"; type: SWALLOW; description { state: "default" 0.0; rel1 { relative: 0.0 1.0; - to: "event_area"; + to: "elm.event_area"; } rel2 { relative: 1.0 1.0; - to: "event_area"; + to: "elm.event_area"; } align: 0.5 0.0; fixed: 1 1; @@ -326,16 +326,16 @@ group { name: "elm/scroller/panel/bottom/default"; type: RECT; repeat_events: 1; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 0 0 0 0; } } part { name: "bg"; type: RECT; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; color: 64 64 64 255; visible: 0; } @@ -347,8 +347,8 @@ group { name: "elm/scroller/panel/bottom/default"; part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; - rel1.to: "panel_area"; - rel2.to: "panel_area"; + rel1.to: "elm.panel_area"; + rel2.to: "elm.panel_area"; visible: 0; } description { state: "visible" 0.0; @@ -362,8 +362,8 @@ group { name: "elm/scroller/panel/bottom/default"; signal: "elm,state,content,visible"; source: "elm"; action: STATE_SET "visible" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } @@ -371,8 +371,8 @@ group { name: "elm/scroller/panel/bottom/default"; signal: "elm,state,content,hidden"; source: "elm"; action: STATE_SET "default" 0.0; - target: "panel_area"; - target: "event_area"; + target: "elm.panel_area"; + target: "elm.event_area"; target: "bg"; target: "elm.swallow.content"; } diff --git a/data/elementary/themes/edc/elm/photo.edc b/data/elementary/themes/edc/elm/photo.edc index 40eb10edfa..6c5e402278 100644 --- a/data/elementary/themes/edc/elm/photo.edc +++ b/data/elementary/themes/edc/elm/photo.edc @@ -62,7 +62,7 @@ group { name: "elm/photo/base/shadow"; } } parts { - part { name: "size"; type: SWALLOW; + part { name: "size"; type: SPACER; description { state: "default" 0.0; rel1.offset: 7 7; rel2.offset: -8 -8; diff --git a/data/elementary/themes/edc/elm/popup.edc b/data/elementary/themes/edc/elm/popup.edc index a4c5f07d7e..0636602fda 100644 --- a/data/elementary/themes/edc/elm/popup.edc +++ b/data/elementary/themes/edc/elm/popup.edc @@ -490,7 +490,7 @@ group { name: "elm/popup/item/popup/default"; group { name: "elm/popup/base/subpopup"; inherit: "elm/popup/base/default"; parts { - part { name: "pad.closebtn"; type: SPACER; + part { name: "pad_closebtn"; type: SPACER; description { state: "default" 0.0; rel1.to: "base"; rel1.relative: 1 0; @@ -505,9 +505,9 @@ group { name: "elm/popup/base/subpopup"; part { name: "elm.swallow.closebtn"; type: SWALLOW; scale: 1; description { state: "default" 0.0; - rel1.to: "pad.closebtn"; + rel1.to: "pad_closebtn"; rel1.relative: 1 0; - rel2.to: "pad.closebtn"; + rel2.to: "pad_closebtn"; rel2.relative: 1 0; align: 0 1; fixed: 1 1; diff --git a/data/elementary/themes/edc/elm/progress.edc b/data/elementary/themes/edc/elm/progress.edc index 703fe46d7a..71291323c9 100644 --- a/data/elementary/themes/edc/elm/progress.edc +++ b/data/elementary/themes/edc/elm/progress.edc @@ -29,10 +29,10 @@ group { name: "elm/progressbar/horizontal/default"; } if (ic) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); } if (!d) { set_state(PART:"dis_clip", "default", 0.0); @@ -91,7 +91,7 @@ group { name: "elm/progressbar/horizontal/default"; rel2.offset: 2 -3; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -587,10 +587,10 @@ group { name: "elm/progressbar/vertical/default"; } if (ic) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); } if (!d) { set_state(PART:"dis_clip", "default", 0.0); @@ -649,7 +649,7 @@ group { name: "elm/progressbar/vertical/default"; rel2.offset: -3 2; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; diff --git a/data/elementary/themes/edc/elm/radio.edc b/data/elementary/themes/edc/elm/radio.edc index e820f32896..6d137b8a17 100644 --- a/data/elementary/themes/edc/elm/radio.edc +++ b/data/elementary/themes/edc/elm/radio.edc @@ -14,14 +14,14 @@ group { name: "elm/radio/base/default"; if (m1 == (ICON | LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"inset", "default", 0.0); set_state(PART:"clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"inset", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -30,14 +30,14 @@ group { name: "elm/radio/base/default"; } else if (m1 == (ICON)) { if (!d) { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"inset", "default", 0.0); set_state(PART:"clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"sizer_content", "icononly", 0.0); set_state(PART:"elm.text", "disabled", 0.0); set_state(PART:"inset", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -46,14 +46,14 @@ group { name: "elm/radio/base/default"; } else if (m1 == (LABEL)) { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "visible", 0.0); set_state(PART:"inset", "default", 0.0); set_state(PART:"clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "disabled_visible", 0.0); set_state(PART:"inset", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -62,14 +62,14 @@ group { name: "elm/radio/base/default"; } else { if (!d) { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"inset", "default", 0.0); set_state(PART:"clip", "default", 0.0); set_state(PART:"event", "default", 0.0); } else { set_state(PART:"elm.swallow.content", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); set_state(PART:"inset", "disabled", 0.0); set_state(PART:"clip", "disabled", 0.0); @@ -142,7 +142,7 @@ group { name: "elm/radio/base/default"; min: 16 16; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; diff --git a/data/elementary/themes/edc/elm/slider.edc b/data/elementary/themes/edc/elm/slider.edc index ff19ce8ab6..9f935efa88 100644 --- a/data/elementary/themes/edc/elm/slider.edc +++ b/data/elementary/themes/edc/elm/slider.edc @@ -112,17 +112,17 @@ group { name: "elm/slider/horizontal/default"; } if (ic) { set_state(PART:"elm.swallow.icon", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); } else { set_state(PART:"elm.swallow.icon", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); } if (e) { set_state(PART:"elm.swallow.end", "visible", 0.0); - set_state(PART:"sizer.content.end", "visible", 0.0); + set_state(PART:"sizer_content_end", "visible", 0.0); } else { set_state(PART:"elm.swallow.end", "default", 0.0); - set_state(PART:"sizer.content.end", "default", 0.0); + set_state(PART:"sizer_content_end", "default", 0.0); } if (!d) { set_state(PART:"event", "default", 0.0); @@ -233,7 +233,7 @@ group { name: "elm/slider/horizontal/default"; rel2.offset: 2 -3; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -309,7 +309,7 @@ group { name: "elm/slider/horizontal/default"; rel2.offset: -3 -3; } } - part { name: "sizer.content.end"; type: TEXT; mouse_events: 0; + part { name: "sizer_content_end"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -399,6 +399,7 @@ group { name: "elm/slider/horizontal/default"; } } part { name: "elm.dragable.slider"; type: RECT; + nomouse; scale: 1; dragable.x: 1 1 0; dragable.y: 0 0 0; @@ -415,6 +416,7 @@ group { name: "elm/slider/horizontal/default"; } } part { name: "knob"; + nomouse; description { state: "default" 0.0; image.normal: "knob"; fixed: 1 1; @@ -432,6 +434,7 @@ group { name: "elm/slider/horizontal/default"; } part { name: "slideevent"; type: RECT; repeat_events: 1; scale: 1; + nomouse; ignore_flags: ON_HOLD; dragable.events: "elm.dragable.slider"; description { state: "default" 0.0; @@ -829,17 +832,17 @@ group { name: "elm/slider/vertical/default"; } if (ic) { set_state(PART:"elm.swallow.icon", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); } else { set_state(PART:"elm.swallow.icon", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); } if (e) { set_state(PART:"elm.swallow.end", "visible", 0.0); - set_state(PART:"sizer.content.end", "visible", 0.0); + set_state(PART:"sizer_content_end", "visible", 0.0); } else { set_state(PART:"elm.swallow.end", "default", 0.0); - set_state(PART:"sizer.content.end", "default", 0.0); + set_state(PART:"sizer_content_end", "default", 0.0); } if (!d) { set_state(PART:"event", "default", 0.0); @@ -950,7 +953,7 @@ group { name: "elm/slider/vertical/default"; rel2.offset: -3 2; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -1027,7 +1030,7 @@ group { name: "elm/slider/vertical/default"; rel2.offset: -3 -3; } } - part { name: "sizer.content.end"; type: TEXT; mouse_events: 0; + part { name: "sizer_content_end"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -1120,6 +1123,7 @@ group { name: "elm/slider/vertical/default"; } part { name: "elm.dragable.slider"; type: RECT; scale: 1; + nomouse; dragable.x: 0 0 0; dragable.y: 1 1 0; dragable.confine: "elm.swallow.bar"; @@ -1135,6 +1139,7 @@ group { name: "elm/slider/vertical/default"; } } part { name: "knob"; + nomouse; description { state: "default" 0.0; image.normal: "knob"; fixed: 1 1; @@ -1152,6 +1157,7 @@ group { name: "elm/slider/vertical/default"; } part { name: "slideevent"; type: RECT; repeat_events: 1; scale: 1; + nomouse; ignore_flags: ON_HOLD; dragable.events: "elm.dragable.slider"; description { state: "default" 0.0; @@ -1577,17 +1583,17 @@ group { name: "elm/slider/range/horizontal/default"; } if (ic) { set_state(PART:"elm.swallow.icon", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); } else { set_state(PART:"elm.swallow.icon", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); } if (e) { set_state(PART:"elm.swallow.end", "visible", 0.0); - set_state(PART:"sizer.content.end", "visible", 0.0); + set_state(PART:"sizer_content_end", "visible", 0.0); } else { set_state(PART:"elm.swallow.end", "default", 0.0); - set_state(PART:"sizer.content.end", "default", 0.0); + set_state(PART:"sizer_content_end", "default", 0.0); } if (!d) { set_state(PART:"event", "default", 0.0); @@ -1724,7 +1730,7 @@ group { name: "elm/slider/range/horizontal/default"; rel2.offset: 2 -3; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -1800,7 +1806,7 @@ group { name: "elm/slider/range/horizontal/default"; rel2.offset: -3 -3; } } - part { name: "sizer.content.end"; type: TEXT; mouse_events: 0; + part { name: "sizer_content_end"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -1891,6 +1897,7 @@ group { name: "elm/slider/range/horizontal/default"; } part { name: "elm.dragable.slider"; type: RECT; scale: 1; + nomouse; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "elm.swallow.bar"; @@ -1906,6 +1913,7 @@ group { name: "elm/slider/range/horizontal/default"; } } part { name: "knob"; + nomouse; description { state: "default" 0.0; image.normal: "knob"; fixed: 1 1; @@ -1923,6 +1931,7 @@ group { name: "elm/slider/range/horizontal/default"; } part { name: "slideevent"; type: RECT; repeat_events: 1; scale: 1; + nomouse; ignore_flags: ON_HOLD; dragable.events: "elm.dragable.slider"; description { state: "default" 0.0; @@ -1958,6 +1967,7 @@ group { name: "elm/slider/range/horizontal/default"; } part { name: "elm.dragable2.slider"; type: RECT; scale: 1; + nomouse; dragable.x: 1 1 0; dragable.y: 0 0 0; dragable.confine: "elm.swallow.bar"; @@ -1978,6 +1988,7 @@ group { name: "elm/slider/range/horizontal/default"; } } part { name: "knob2"; + nomouse; description { state: "default" 0.0; image.normal: "knob"; fixed: 1 1; @@ -2000,6 +2011,7 @@ group { name: "elm/slider/range/horizontal/default"; } part { name: "slideevent2"; type: RECT; repeat_events: 1; scale: 1; + nomouse; ignore_flags: ON_HOLD; dragable.events: "elm.dragable2.slider"; description { state: "default" 0.0; @@ -2361,17 +2373,17 @@ group { name: "elm/slider/range/vertical/default"; } if (ic) { set_state(PART:"elm.swallow.icon", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"sizer_content", "visible", 0.0); } else { set_state(PART:"elm.swallow.icon", "default", 0.0); - set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"sizer_content", "default", 0.0); } if (e) { set_state(PART:"elm.swallow.end", "visible", 0.0); - set_state(PART:"sizer.content.end", "visible", 0.0); + set_state(PART:"sizer_content_end", "visible", 0.0); } else { set_state(PART:"elm.swallow.end", "default", 0.0); - set_state(PART:"sizer.content.end", "default", 0.0); + set_state(PART:"sizer_content_end", "default", 0.0); } if (!d) { set_state(PART:"event", "default", 0.0); @@ -2508,7 +2520,7 @@ group { name: "elm/slider/range/vertical/default"; rel2.offset: -3 2; } } - part { name: "sizer.content"; type: TEXT; mouse_events: 0; + part { name: "sizer_content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -2585,7 +2597,7 @@ group { name: "elm/slider/range/vertical/default"; rel2.offset: -3 -3; } } - part { name: "sizer.content.end"; type: TEXT; mouse_events: 0; + part { name: "sizer_content_end"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; @@ -2678,6 +2690,7 @@ group { name: "elm/slider/range/vertical/default"; } part { name: "elm.dragable.slider"; type: RECT; scale: 1; + nomouse; dragable.x: 0 0 0; dragable.y: 1 1 0; dragable.confine: "elm.swallow.bar"; @@ -2693,6 +2706,7 @@ group { name: "elm/slider/range/vertical/default"; } } part { name: "knob"; + nomouse; description { state: "default" 0.0; image.normal: "knob"; fixed: 1 1; @@ -2710,6 +2724,7 @@ group { name: "elm/slider/range/vertical/default"; } part { name: "slideevent"; type: RECT; repeat_events: 1; scale: 1; + nomouse; ignore_flags: ON_HOLD; dragable.events: "elm.dragable.slider"; description { state: "default" 0.0; @@ -2745,6 +2760,7 @@ group { name: "elm/slider/range/vertical/default"; } part { name: "elm.dragable2.slider"; type: RECT; scale: 1; + nomouse; dragable.x: 0 0 0; dragable.y: 1 1 0; dragable.confine: "elm.swallow.bar"; @@ -2765,6 +2781,7 @@ group { name: "elm/slider/range/vertical/default"; } } part { name: "knob2"; + nomouse; description { state: "default" 0.0; image.normal: "knob"; fixed: 1 1; @@ -2787,6 +2804,7 @@ group { name: "elm/slider/range/vertical/default"; } part { name: "slideevent2"; type: RECT; repeat_events: 1; scale: 1; + nomouse; ignore_flags: ON_HOLD; dragable.events: "elm.dragable2.slider"; description { state: "default" 0.0; diff --git a/data/elementary/themes/edc/elm/uiclock.edc b/data/elementary/themes/edc/elm/uiclock.edc deleted file mode 100644 index 348c2f221f..0000000000 --- a/data/elementary/themes/edc/elm/uiclock.edc +++ /dev/null @@ -1,207 +0,0 @@ -#define DATETIME_FIELD(_pos) \ - part { \ - name: "field"#_pos; type: SWALLOW; \ - scale: 1; \ - clip_to: "clip"; \ - description { state: "default" 0.0; \ - visible: 0; \ - min: 0 0; \ - align: 0.0 0.5; \ - fixed: 1 1; \ - rel1.relative: 1.0 0.0; \ - rel1.to: "separator"#_pos; \ - rel2.relative: 1.0 1.0; \ - rel2.to: "separator"#_pos; \ - } \ - description { state: "enable" 0.0; \ - inherit: "default" 0.0; \ - visible: 1; \ - min: 8 10; \ - } \ - } \ - programs{ \ - program { name: "field_"#_pos"enabled"; \ - signal: "field"#_pos",enable"; source: "elm"; \ - action: STATE_SET "enable" 0.0; \ - target: "field"#_pos; \ - } \ - program { name: "field_"#_pos"disabled"; \ - signal: "field"#_pos",disable"; source: "elm"; \ - action: STATE_SET "default" 0.0; \ - target: "field"#_pos; \ - } \ - } -#define DATETIME_SEPARATOR(_pos, _after) \ - part { \ - name: "separator"#_pos; type: TEXT; \ - scale: 1; \ - effect: SHADOW BOTTOM; \ - clip_to: "disclip"; \ - description { state: "default" 0.0; \ - visible: 0; \ - min: 0 0; \ - align: 0.0 0.5; \ - fixed: 1 0; \ - rel1 { \ - relative: 1.0 0.0; \ - to: "field"#_after; \ - } \ - rel2 { \ - relative: 1.0 1.0; \ - to: "field"#_after; \ - } \ - color_class: "datetime_separator_text"; \ - text { \ - font: "Sans"; size: 10; \ - min: 1 0; \ - ellipsis: -1; \ - align: 0.5 0.5; \ - text_class: "datetime_separator_text"; \ - } \ - } \ - description { state: "enable" 0.0; \ - inherit: "default" 0.0; \ - visible: 1; \ - min: 8 10; \ - } \ - } \ - part { \ - name: "separator"#_pos"d"; type: TEXT; \ - scale: 1; \ - effect: SHADOW BOTTOM; \ - clip_to: "disclip2"; \ - description { state: "default" 0.0; \ - visible: 0; \ - rel1.to: "separator"#_pos; \ - rel2.to: "separator"#_pos; \ - color_class: "datetime_separator_text_disabled"; \ - text { \ - text_source: "separator"#_pos; \ - font: "Sans"; size: 10; \ - text_class: "datetime_separator_text_disabled"; \ - } \ - } \ - description { state: "enable" 0.0; \ - inherit: "default" 0.0; \ - visible: 1; \ - } \ - } \ - programs { \ - program { \ - signal: "field"#_after",enable"; source: "elm"; \ - action: STATE_SET "enable" 0.0; \ - target: "separator"#_pos; \ - target: "separator"#_pos"d"; \ - } \ - program { \ - signal: "field"#_after",disable"; source: "elm"; \ - action: STATE_SET "default" 0.0; \ - target: "separator"#_pos; \ - target: "separator"#_pos"d"; \ - } \ - } -group { name: "elm/uiclock/base/default"; - parts { - part { name: "bg"; type: RECT; - description { state: "default" 0.0; - color_class: "datetime_bg"; - } - } - part { name: "clip"; type: RECT; - description { state: "default" 0.0; - rel1.to: "separator0"; - rel2.to: "separator7"; - } - } - part { name: "disclip"; type: RECT; - clip_to: "clip"; - description { state: "default" 0.0; - rel1.to: "separator0"; - rel2.to: "separator7"; - } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part { name: "disclip2"; type: RECT; - clip_to: "clip"; - description { state: "default" 0.0; - rel1.to: "separator0"; - rel2.to: "separator7"; - visible: 0; - } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { name: "separator0"; type: SPACER; - scale: 1; - description { state: "default" 0.0; - min: 8 10; - align: 0.0 0.5; - fixed: 1 0; - rel2.relative: 0.0 1.0; - } - } - DATETIME_FIELD(0) - DATETIME_SEPARATOR(1,0) - DATETIME_FIELD(1) - DATETIME_SEPARATOR(2,1) - DATETIME_FIELD(2) - DATETIME_SEPARATOR(3,2) - DATETIME_FIELD(3) - DATETIME_SEPARATOR(4,3) - DATETIME_FIELD(4) - DATETIME_SEPARATOR(5,4) - DATETIME_FIELD(5) - DATETIME_SEPARATOR(6,5) - DATETIME_FIELD(6) - DATETIME_SEPARATOR(7,6) - DATETIME_FIELD(7) - DATETIME_SEPARATOR(8,7) - part { name: "separator9"; type: SPACER; - description { state: "default" 0.0; - rel1.to: "separator7"; - rel1.relative: 1.0 0.0; - min: 8 10; - } - } - part { name: "discover"; type: RECT; - description { state: "default" 0.0; - rel1.to: "separator0"; - rel2.to: "separator7"; - visible: 0; - color: 0 0 0 0; - } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { name: "elm.access"; type: RECT; repeat_events: 1; - description { state: "default" 0.0; - color: 0 0 0 0; - } - } - } - programs { - program { - signal: "elm,state,disabled"; source: "elm"; - action: STATE_SET "disabled" 0.0; - target: "disclip"; - target: "disclip2"; - target: "discover"; - } - program { - signal: "elm,state,enabled"; source: "elm"; - action: STATE_SET "default" 0.0; - target: "disclip"; - target: "disclip2"; - target: "discover"; - } - } -} -#undef DATETIME_SEPARATOR -#undef DATETIME_FIELD diff --git a/data/elementary/themes/edc/fileman.edc b/data/elementary/themes/edc/fileman.edc index 3dd3ac0305..6305e2ed02 100644 --- a/data/elementary/themes/edc/fileman.edc +++ b/data/elementary/themes/edc/fileman.edc @@ -2058,7 +2058,8 @@ group { name: "e/fileman/default/progress"; } } -group { name: "modules/efm_navigation/main"; +group { name: "e/modules/efm_navigation/main"; + alias: "modules/efm_navigation/main"; images.image: "shadow_inset_light.png" COMP; images.image: "shadow_angled_in_light.png" COMP; images.image: "sym_left_light_normal.png" COMP; @@ -2214,7 +2215,8 @@ group { name: "modules/efm_navigation/main"; } } -group { name: "modules/efm_navigation/pathbar_button"; +group { name: "e/modules/efm_navigation/pathbar_button"; + alias: "modules/efm_navigation/pathbar_button"; images.image: "horizontal_separated_bar_small_glow.png" COMP; parts { part { name: "e.text.label"; type: TEXT; mouse_events: 0; @@ -2302,7 +2304,8 @@ group { name: "modules/efm_navigation/pathbar_button"; } } -group { name: "modules/efm_navigation/pathbar_scrollframe"; +group { name: "e/modules/efm_navigation/pathbar_scrollframe"; + alias: "modules/efm_navigation/pathbar_scrollframe"; images.image: "sym_left_light_normal.png" COMP; images.image: "sym_right_light_normal.png" COMP; images.image: "sym_left_glow_normal.png" COMP; diff --git a/data/elementary/themes/edc/illume.edc b/data/elementary/themes/edc/illume.edc index 54d8818d57..3e71c97197 100644 --- a/data/elementary/themes/edc/illume.edc +++ b/data/elementary/themes/edc/illume.edc @@ -471,7 +471,8 @@ group { name: "e/modules/illume_mode_toggle/main"; } } -group { name: "modules/illume-indicator/window"; +group { name: "e/modules/illume-indicator/window"; + alias: "modules/illume-indicator/window"; data { // item: "shaped" "1"; } @@ -564,7 +565,8 @@ group { name: "modules/illume-indicator/window"; } } -group { name: "modules/illume-softkey/window"; +group { name: "e/modules/illume-softkey/window"; + alias: "modules/illume-softkey/window"; data { // item: "shaped" "1"; } diff --git a/data/elementary/themes/edc/init.edc b/data/elementary/themes/edc/init.edc index 630b714a51..630ff20c9b 100644 --- a/data/elementary/themes/edc/init.edc +++ b/data/elementary/themes/edc/init.edc @@ -385,14 +385,13 @@ group { name: "e/init/splash"; } } programs { - program { - signal: "load"; source: ""; + program { signal: "load"; source: ""; script { set_int(is_ready, 0); set_int(do_end, 0); } } - + #define PROG(_NAME) \ program { name: _NAME"0"; \ signal: "show"; source: ""; \ @@ -460,8 +459,7 @@ group { name: "e/init/splash"; PROG("l+3") #undef PROG - program { - signal: "show"; source: ""; + program { signal: "show"; source: ""; action: STATE_SET "visible" 0.0; transition: DECELERATE 1.0; target: "shadow"; @@ -491,19 +489,16 @@ group { name: "e/init/splash"; set_int(is_ready, 1); } } - program { - signal: "e,state,done"; source: "e"; + program { signal: "e,state,done"; source: "e"; script { new val; + set_int(do_end, 1); val = get_int(is_ready); if (val == 1) run_program(PROGRAM:"exit1"); - else - set_int(do_end, 1); } } program { name: "exit1"; - signal: "e,state,done"; source: "e"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 1.0 CURRENT; target: "shadow"; @@ -520,6 +515,10 @@ group { name: "e/init/extra_screen"; images.image: "screen_circular_shadow.png" COMP; images.image: "bg_radgrad.png" COMP; images.image: "dot_pattern.png" COMP; + script { + public is_ready; + public do_end; + } parts { part { name: "clip"; type: RECT; mouse_events: 0; description { state: "default" 0.0; @@ -574,6 +573,36 @@ group { name: "e/init/extra_screen"; transition: DECELERATE 1.0; target: "shadow"; target: "blanker"; + after: "ready"; } + program { name: "ready"; + script { + new val; + val = get_int(do_end); + if (val == 1) + run_program(PROGRAM:"exit1"); + else + set_int(is_ready, 1); + } + } + program { signal: "e,state,done"; source: "e"; + script { + new val; + set_int(do_end, 1); + val = get_int(is_ready); + if (val == 1) + run_program(PROGRAM:"exit1"); + } + } + program { name: "exit1"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 1.0 CURRENT; + target: "shadow"; + target: "blanker"; + after: "exit2"; + } + program { name: "exit2"; + action: SIGNAL_EMIT "e,state,done_ok" "e"; + } } } diff --git a/data/elementary/themes/edc/music_control.edc b/data/elementary/themes/edc/music_control.edc index f9d29b4726..11870eca72 100644 --- a/data/elementary/themes/edc/music_control.edc +++ b/data/elementary/themes/edc/music_control.edc @@ -27,6 +27,9 @@ group { name: "e/modules/music-control/main"; group { name: "e/modules/music-control/popup"; alias: "modules/music-control/popup"; +#ifdef SKIP_NAMESPACE_VALIDATION + skip_namespace_validation: 1; +#endif min: 150 50; images.image: "icon_prev.png" COMP; images.image: "icon_next.png" COMP; @@ -48,6 +51,7 @@ group { name: "e/modules/music-control/popup"; } } parts { + alias: "cover_swallow" "e.cover_swallow"; part { name: "cover_bg"; description { state: "default" 0; min: 90 90; @@ -56,7 +60,7 @@ group { name: "e/modules/music-control/popup"; image.normal: "music_control_icon.png"; } } - part { name: "cover_swallow"; type: SWALLOW; + part { name: "e.cover_swallow"; type: SWALLOW; description { state: "default" 0; rel1.to: "cover_bg"; rel2.to: "cover_bg"; diff --git a/data/elementary/themes/edc/notification.edc b/data/elementary/themes/edc/notification.edc index ae93d03ba4..63a401b1d3 100644 --- a/data/elementary/themes/edc/notification.edc +++ b/data/elementary/themes/edc/notification.edc @@ -11,7 +11,8 @@ group { name: "e/modules/notification/logo"; } } -group { name: "e/modules/notification/main"; +group { name: "notification/main"; + alias: "e/modules/notification/main"; images.image: "darken_square.png" COMP; images.image: "sym_close_light_normal.png" COMP; images.image: "sym_close_light_selected.png" COMP; @@ -45,6 +46,7 @@ group { name: "e/modules/notification/main"; } parts { + alias: "e.event.close" "notification.event.close"; part { name: "base"; description { state: "default" 0.0; image.normal: "darken_square.png"; @@ -128,7 +130,7 @@ group { name: "e/modules/notification/main"; image.normal: "sym_close_light_selected.png"; } } - part { name: "e.event.close"; type: RECT; + part { name: "notification.event.close"; type: RECT; scale: 1; description { state: "default" 0.0; rel1.relative: 1.0 0.0; diff --git a/data/elementary/themes/edc/systray.edc b/data/elementary/themes/edc/systray.edc index 93f17667c5..fefe075de2 100644 --- a/data/elementary/themes/edc/systray.edc +++ b/data/elementary/themes/edc/systray.edc @@ -5,6 +5,7 @@ group { name: "e/modules/systray/main"; data.item: "inset" "64 64 64"; data.item: "plain" "64 64 64"; parts { + alias: "box" "e.box"; part { name: "base"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; @@ -15,7 +16,7 @@ group { name: "e/modules/systray/main"; color: 255 0 0 128; } } - part { name: "box"; type: BOX; + part { name: "e.box"; type: BOX; description { state: "default" 0.0; align: 0 0; box { @@ -38,72 +39,72 @@ group { name: "e/modules/systray/main"; program { signal: "e,action,orient,horiz"; source: "e"; action: STATE_SET "default" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,vert"; source: "e"; action: STATE_SET "vertical" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,left"; source: "e"; action: STATE_SET "vertical" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,right"; source: "e"; action: STATE_SET "vertical" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,top"; source: "e"; action: STATE_SET "default" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,bottom"; source: "e"; action: STATE_SET "default" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_tl"; source: "e"; action: STATE_SET "default" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_tr"; source: "e"; action: STATE_SET "default" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_bl"; source: "e"; action: STATE_SET "default" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_br"; source: "e"; action: STATE_SET "default" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_lt"; source: "e"; action: STATE_SET "vertical" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_rt"; source: "e"; action: STATE_SET "vertical" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_lb"; source: "e"; action: STATE_SET "vertical" 0.0; - target: "box"; + target: "e.box"; } program { signal: "e,action,orient,corner_rb"; source: "e"; action: STATE_SET "vertical" 0.0; - target: "box"; + target: "e.box"; } } -} \ No newline at end of file +} diff --git a/data/elementary/themes/fdo/index.theme b/data/elementary/themes/fdo/index.theme index cc96656e44..d1b1e2f9d3 100644 --- a/data/elementary/themes/fdo/index.theme +++ b/data/elementary/themes/fdo/index.theme @@ -2,7 +2,7 @@ Name=Enlightenment-X Inherits=Mint-X,RAVE-X,Faenza,hicolor Comment=The Enlightenment-X Icon theme. Orig. based on Rave-X, Mint-X and Faenza Icon Themes. -Directories=actions/128,status/128,places/128,places/16,devices/128,emblems/96,categories/128,categories/16,apps/64,intl/128 +Directories=actions/128,status/128,places/128,places/16,devices/128,emblems/96,categories/128,categories/16,apps/64,intl/128,mimetypes/16,mimetypes/128 Example=folder-home @@ -75,3 +75,17 @@ Context=International Type=Scalable MinSize=16 MaxSize=256 + +[mimetypes/128] +Size=128 +Context=MimeTypes +Type=Scalable +MinSize=23 +MaxSize=256 + +[mimetypes/16] +Size=16 +Context=MimeTypes +Type=Scalable +MinSize=16 +MaxSize=22 diff --git a/data/elementary/themes/fdo/mimetypes/128/inode-directory.png b/data/elementary/themes/fdo/mimetypes/128/inode-directory.png new file mode 100644 index 0000000000..e877858b4c Binary files /dev/null and b/data/elementary/themes/fdo/mimetypes/128/inode-directory.png differ diff --git a/data/elementary/themes/fdo/mimetypes/16/inode-directory.png b/data/elementary/themes/fdo/mimetypes/16/inode-directory.png new file mode 100644 index 0000000000..d2f27d6e16 Binary files /dev/null and b/data/elementary/themes/fdo/mimetypes/16/inode-directory.png differ diff --git a/m4/efl.m4 b/m4/efl.m4 index 4b896eda88..0514ba04e1 100644 --- a/m4/efl.m4 +++ b/m4/efl.m4 @@ -427,7 +427,7 @@ m4_defn([UP])_LIBS=" ${m4_defn([UP])_LDFLAGS} ${EFLALL_COV_LIBS} ${EFLALL_LIBS} m4_defn([UP])_INTERNAL_LIBS="${m4_defn([UP])_INTERNAL_LIBS} ${requirements_internal_libs_[]m4_defn([DOWN])}" USE_[]m4_defn([UP])_LIBS="${m4_defn([UP])_LIBS} lib/${libdirname}/lib${libname}.la" USE_[]m4_defn([UP])_INTERNAL_LIBS="${m4_defn([UP])_INTERNAL_LIBS} lib/${libdirname}/lib${libname}.la" -m4_defn([UP])_CFLAGS="${EFL_WINDOWS_VERSION_CFLAGS} ${EFLALL_COV_CFLAGS} ${EFLALL_CFLAGS} ${m4_defn([UP])_CFLAGS} -I\$(top_srcdir)/src/lib/${libdirname} -I\$(top_builddir)/src/lib/${libdirname} -I\$(top_srcdir)/src/bindings/cxx/${libdirname} -I\$(top_builddir)/src/bindings/${libdirname} ${requirements_cflags_[]m4_defn([DOWN])} ${requirements_cflags_eflall} -DEFL_[]m4_defn([UP])_BUILD=1" +m4_defn([UP])_CFLAGS="${EFL_WINDOWS_VERSION_CFLAGS} ${EFLALL_COV_CFLAGS} ${EFLALL_CFLAGS} ${m4_defn([UP])_CFLAGS} -I\$(top_srcdir)/src/lib/${libdirname} -I\$(top_builddir)/src/lib/${libdirname} -I\$(top_srcdir)/src/bindings/cxx/${libdirname} -I\$(top_builddir)/src/bindings/${libdirname} ${requirements_cflags_[]m4_defn([DOWN])} ${requirements_cflags_eflall} -DEFL_BUILD=1" requirements_pc_[]m4_defn([DOWN])="${requirements_pc_[]m4_defn([DOWN])} ${requirements_pc_eflall}" requirements_pc_deps_[]m4_defn([DOWN])="${requirements_pc_deps_[]m4_defn([DOWN])} ${requirements_pc_deps_eflall}" diff --git a/m4/efl_find_x.m4 b/m4/efl_find_x.m4 index dad401fcf8..8c9f5c3677 100644 --- a/m4/efl_find_x.m4 +++ b/m4/efl_find_x.m4 @@ -120,6 +120,7 @@ AC_DEFUN([EFL_FIND_X], efl_x11_lib= fi done + efl_x11_modules="$efl_x11_modules x11-xcb" PKG_CHECK_EXISTS([$efl_x11_modules], [ diff --git a/pc/efl-mono.pc.in b/pc/efl-mono.pc.in index 8b4a147af3..2dfafea23f 100644 --- a/pc/efl-mono.pc.in +++ b/pc/efl-mono.pc.in @@ -5,11 +5,14 @@ includedir=@includedir@ datarootdir=@datarootdir@ datadir=@datadir@ +assemblies_dir=@eflmonodlldir@ +Libraries=${assemblies_dir}/libefl_mono.dll + #variable to be used with meson -mono_libs=-r:@prefix@/bin/libefl_mono.dll +mono_libs=-r:${assemblies_dir}/libefl_mono.dll Name: EFL-Mono Description: EFL's C-Sharp bindings Version: @PACKAGE_VERSION@ -Libs: -r:${prefix}/bin/libefl_mono.dll +Libs: -r:${assemblies_dir}/libefl_mono.dll diff --git a/po/POTFILES.in b/po/POTFILES.in index 06b1e60a02..bcd0447360 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -49,6 +49,7 @@ src/bin/elementary/test_panes.c src/bin/elementary/test_photo.c src/bin/elementary/test_photocam.c src/bin/elementary/test_progressbar.c +src/bin/elementary/test_ui_progressbar.c src/bin/elementary/test_radio.c src/bin/elementary/test_scaling.c src/bin/elementary/test_scroller.c @@ -96,7 +97,7 @@ src/lib/elementary/elc_fileselector.c src/lib/elementary/elc_fileselector_button.c src/lib/elementary/elc_fileselector_entry.c src/lib/elementary/elc_hoversel.c -src/lib/elementary/efl_ui_multibuttonentry.c +src/lib/elementary/elc_multibuttonentry.c src/lib/elementary/elc_naviframe.c src/lib/elementary/elc_player.c src/lib/elementary/elc_popup.c @@ -111,7 +112,6 @@ src/lib/elementary/elm_calendar.c src/lib/elementary/efl_ui_calendar.c src/lib/elementary/efl_ui_check.c src/lib/elementary/elm_clock.c -src/lib/elementary/elm_cnp.c src/lib/elementary/elm_colorselector.c src/lib/elementary/elm_config.c src/lib/elementary/elm_conform.c @@ -137,7 +137,7 @@ src/lib/elementary/elm_index.c src/lib/elementary/elm_interface_scrollable.c src/lib/elementary/elm_inwin.c src/lib/elementary/elm_label.c -src/lib/elementary/efl_ui_layout.c +src/lib/elementary/efl_ui_layout_object.c src/lib/elementary/elm_list.c src/lib/elementary/elm_main.c src/lib/elementary/elm_map.c @@ -174,7 +174,7 @@ src/lib/elementary/elm_transit.c src/lib/elementary/elm_util.c src/lib/elementary/efl_ui_video.c src/lib/elementary/elm_web2.c -src/lib/elementary/elm_widget.c +src/lib/elementary/efl_ui_widget.c src/lib/elementary/efl_ui_win.c src/lib/elementary/els_box.c src/lib/elementary/els_cursor.c diff --git a/po/ca.po b/po/ca.po index 4c554e339f..a0f203b54a 100644 --- a/po/ca.po +++ b/po/ca.po @@ -4,12 +4,12 @@ # Marc Furtià i Puig , 2013. # Joan Coll , 2013. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: Elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2015-02-10 09:34+0000\n" "Last-Translator: JoanColl \n" "Language-Team: Catalan\n" @@ -240,172 +240,172 @@ msgstr "Imatges" msgid "Videos" msgstr "Vídeos" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Amunt" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Carpeta personal" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Cerca" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Accepta" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Cancel·la" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Estat: desactivat" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "etiqueta d'entrada múltiple" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "element entrada múltiple" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "entrada múltiple" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Títol" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Títol" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Enrere" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Següent" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Títol finestra emergent" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Text de la finestra emergent" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Bombolla" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Clicat" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Botó" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "element de calendari" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "botó decrement de mes" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "botó decrement d'any" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "botó increment de mes" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "botó increment d'any" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "mes del calendari" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "any del calendari" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Estat: activat" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Estat: desactivat" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Estat" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Comprova" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "botó increment de rellotge per am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "botó decrement de rellotge per am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Estat: Editable" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Rellotge" @@ -429,7 +429,7 @@ msgstr "B:" msgid "A:" msgstr "A:" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "paleta de selecció de color" @@ -439,11 +439,11 @@ msgstr "paleta de selecció de color" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "selector de dia" @@ -451,27 +451,27 @@ msgstr "selector de dia" msgid "diskselector item" msgstr "selector de disc" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Retalla" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Copia" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Enganxa" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Selecciona" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Entrada" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Quadrícula genèrica" @@ -483,40 +483,40 @@ msgstr "Índex" msgid "Index Item" msgstr "Element d'índex" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etiqueta" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "estat: obert" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "estat: tancat" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Hi ha un tauler obert" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Feu doble clic per tancar el menú del tauler" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "botó del tauler" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "barra de progrés" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Opció" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Estat: Seleccionat" @@ -528,50 +528,50 @@ msgstr "Estat: No seleccionat" msgid "Segment Control Item" msgstr "Element de control del segment" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "control lliscant" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "incrementat" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "decrementat" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "botó d'increment del spinner" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "botó de decrement del spinner" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "text rotatiu" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Seleccionat" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Separador" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Té menú" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "No seleccionat" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Element de barra d'eines" diff --git a/po/cs.po b/po/cs.po index 4529dc4a62..9e4ea44957 100644 --- a/po/cs.po +++ b/po/cs.po @@ -5,12 +5,12 @@ # quaker66@gmail.com # Vít Pelčák , 2011. # Tomáš Čech , 2012. -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-05-22 22:44+0200\n" "Last-Translator: Tomáš Čech \n" "Language-Team: Czech \n" @@ -243,172 +243,172 @@ msgstr "Obrázky" msgid "Videos" msgstr "Videa" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Nahoru" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Domů" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Zrušit" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Stav: Zakázáno" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "popisek vícetlačítkového vstupu" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "položka vícetlačítkového vstupu" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "vícetlačítkový vstup" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Název" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Název" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Zpět" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Další" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Titulek vyskakujícího okna" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Text vyskakovacího okna" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Bublina" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Kliknuto" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Tlačítko" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "položka kalendáře" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "odečítací tlačítko pro měsíc" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "odečítací tlačítko pro rok" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "přičítací tlačítko pro měsíc" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "přičítací tlačítko pro rok" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "kalendářní měsíc" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "kalendářní rok" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Stav: Zapnuto" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Stav: Vypnuto" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Stav" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Ověřit" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "přičítací tlačítko hodin pro am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "odečítací tlačítko hodin pro am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Stav: Upravitelný" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Hodiny" @@ -432,7 +432,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "položka výběru barvy z palety" @@ -442,11 +442,11 @@ msgstr "položka výběru barvy z palety" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "položka výběru dne" @@ -454,27 +454,27 @@ msgstr "položka výběru dne" msgid "diskselector item" msgstr "položka výběru disků" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Vyjmout" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopírovat" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Vložit" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Vybrat" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Vstup" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Položka mřížky" @@ -486,40 +486,40 @@ msgstr "Index" msgid "Index Item" msgstr "Položka indexu" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Popisek" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "stav: otevřeno" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "stav: zavřeno" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "tlačítko panelu" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "ukazatel průběhu" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Přepínač" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Stav: Vybráno" @@ -531,51 +531,51 @@ msgstr "Stav: Nevybráno" msgid "Segment Control Item" msgstr "položka ovládání segmentu" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "šoupátko" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "přičítací tlačítko spinneru" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "odečítací tlačítko spinneru" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "spinner" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Vybrané" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Oddělovač" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Má nabídku" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Nevybrané" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Položka panelu nástrojů" diff --git a/po/da.po b/po/da.po index d2136c5ec0..abe13fb56c 100644 --- a/po/da.po +++ b/po/da.po @@ -2,12 +2,12 @@ # Copyright (C) 2017 Enlightenment development team # This file is distributed under the same license as the efl package. # scootergrisen, 2017. -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: efl 1.20.5\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2017-11-04 00:00+0200\n" "Last-Translator: scootergrisen\n" "Language-Team: Danish\n" @@ -237,172 +237,172 @@ msgstr "Billeder" msgid "Videos" msgstr "Videoer" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Op" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Hjem" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Søg" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Annuller" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Tilstand: Deaktiveret" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "Svævemarkering" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "indtastningsetiket til multiknap" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "indtastningselement til multiknap" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "indtastning til multiknap" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Titel" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Titel" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Tilbage" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Næste" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Titel til pop op" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Brødtekst til pop op" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Bobbel" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Klikket" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Knap" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "kalender-element" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "formindsk-knap til kalender måned" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "formindsk-knap til kalender år" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "forøg-knap til kalender måned" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "forøg-knap til kalender år" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "kalender måned" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "kalender år" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Tilstand: Til" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Tilstand: Fra" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Tilstand" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Tilvælg" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "forøg-knap til ur am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "formindsk-knap til ur am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Tilstand: Redigerbar" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Ur" @@ -426,7 +426,7 @@ msgstr "B:" msgid "A:" msgstr "A:" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "palet-element til farvevælger" @@ -436,11 +436,11 @@ msgstr "palet-element til farvevælger" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "dagvælger-element" @@ -448,27 +448,27 @@ msgstr "dagvælger-element" msgid "diskselector item" msgstr "diskvælger-element" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Klip" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopiér" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Indsæt" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Vælg" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Indtastning" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Gengitter-element" @@ -480,40 +480,40 @@ msgstr "Indeks" msgid "Index Item" msgstr "Indeks-element" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etiket" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "tilstand: åbnet" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "tilstand: lukket" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Et panel er åbent" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Dobbelttryk for at lukke panelmenu" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "panelknap" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "forløbslinje" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Radio" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Tilstand: Valgt" @@ -525,50 +525,50 @@ msgstr "Tilstand: Fravalgt" msgid "Segment Control Item" msgstr "Segmentkontrol-element" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "skyder" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "forøget" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "formindsket" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "ruller" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "forøg-knap til ruller" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "formindsk-knap til ruller" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "rullertekst" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Valgt" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Separator" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Har menu" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Fravalgt" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Værktøjslinje-element" diff --git a/po/de.po b/po/de.po index 89e8263128..e9b2848339 100644 --- a/po/de.po +++ b/po/de.po @@ -4,12 +4,12 @@ # Chris Leick , 2009. # Fabian Nowak , 2010. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary 0.7.0.57309\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2011-02-25 20:22+0100\n" "Last-Translator: Fabian Nowak \n" "Language-Team: German\n" @@ -241,171 +241,171 @@ msgstr "" msgid "Videos" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Aufwärts" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Persönlicher Ordner" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Abbrechen" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "" @@ -429,7 +429,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "" @@ -439,11 +439,11 @@ msgstr "" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "" @@ -451,27 +451,27 @@ msgstr "" msgid "diskselector item" msgstr "" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Ausschneiden" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopieren" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Einfügen" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Auswählen" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -483,40 +483,40 @@ msgstr "" msgid "Index Item" msgstr "" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "" @@ -529,52 +529,52 @@ msgstr "Auswählen" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 #, fuzzy msgid "Selected" msgstr "Auswählen" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 #, fuzzy msgid "Unselected" msgstr "Auswählen" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "" diff --git a/po/el.po b/po/el.po index 3f6fd057a7..1153c90167 100644 --- a/po/el.po +++ b/po/el.po @@ -6,12 +6,12 @@ # Alex-P. Natsios 2012 # Efstathios Iosifidis , 2012. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2012-12-19 15:58+0200\n" "Last-Translator: Efstathios Iosifidis \n" "Language-Team: Ελληνικά, Σύγχρονα \n" @@ -244,179 +244,179 @@ msgstr "Εικόνες" msgid "Videos" msgstr "Βίντεο" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Πάνω" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Αρχική" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Εντάξει" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Άκυρο" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Κατάσταση: Απενεργοποιημένο" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 #, fuzzy msgid "Bubble" msgstr "Πλαίσιο" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Επιλεγμένο" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Κουμπί" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "αντικείμενο ημερολογίου" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 #, fuzzy msgid "calendar decrement month button" msgstr "Προηγούμενο Ημερολόγιο" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 #, fuzzy msgid "calendar decrement year button" msgstr "Προηγούμενο Ημερολόγιο" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 #, fuzzy msgid "calendar increment month button" msgstr "Επόμενο Ημερολόγιο" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 #, fuzzy msgid "calendar increment year button" msgstr "Επόμενο Ημερολόγιο" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "Μηνας Ημερολογίου" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 #, fuzzy msgid "calendar year" msgstr "αντικείμενο ημερολογίου" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Κατάσταση: Ενεργό" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Κατάσταση: Ανενεργό" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Κατάσταση" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Επιλογή" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 #, fuzzy msgid "clock increment button for am,pm" msgstr "επόμενο κουμπί ρολογιού για πμ,μμ" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 #, fuzzy msgid "clock decrement button for am,pm" msgstr "προηγούμενο κουμπί ρολογιού για πμ,μμ" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Κατάσταση: Επεξεργάσιμο" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Ρολοι" @@ -440,7 +440,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "παλέτα επιλογής χρώματος" @@ -450,11 +450,11 @@ msgstr "παλέτα επιλογής χρώματος" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 #, fuzzy msgid "day selector item" msgstr "επιλογή δίσκου" @@ -463,27 +463,27 @@ msgstr "επιλογή δίσκου" msgid "diskselector item" msgstr "επιλογή δίσκου" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Αποκοπή" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Αντιγραφή" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Επικόλληση" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Επιλογή" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Καταχώριση" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Αντικείμενο Gengrid" @@ -495,40 +495,40 @@ msgstr "Κατάλογος" msgid "Index Item" msgstr "Αντικείμενο Καταλόγου" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Ετικέτα" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "Κατάσταση: Ανοικτό" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "Κατάσταση: Κλειστό" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "κουμπί πινακα" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "Μπάρα Προόδου" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Επιλογή" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Κατάσταση: Επιλεγμένο" @@ -541,55 +541,55 @@ msgstr "Κατάσταση: Επιλεγμένο" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "μπάρα κύλισης" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 #, fuzzy msgid "spinner" msgstr "spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 #, fuzzy msgid "spinner increment button" msgstr "κουμπί spinner επόμενο" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 #, fuzzy msgid "spinner decrement button" msgstr "κουμπί spinner προηγούμενο" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "spinner" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Επιλεγμένο" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Διαχωριστικό" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Έχει μενού" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Μη Επιλεγμένο" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Αντικείμενο μπάρας εργαλείων" diff --git a/po/eo.po b/po/eo.po index ff9d65902b..ab0e435df7 100644 --- a/po/eo.po +++ b/po/eo.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the enlightenment package. # FIRST AUTHOR , 2012. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: enlightenment\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2013-11-05 18:59+0000\n" "Last-Translator: Eliovir \n" "Language-Team: Esperanto \n" @@ -239,172 +239,172 @@ msgstr "Bildujo" msgid "Videos" msgstr "Videujo" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Supren" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Hejmo" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Bone" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Nuligi" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Stato: malŝaltita" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Titolo" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Titolo" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Reen" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Antaŭen" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Titolo de spruĉfenestro" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Enhava teksto de spruĉfenestro" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Veziko" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Alklakita" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Butono" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%V" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "kalendarero" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "Dekrementa butono de monata kalendaro" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "Dekrementa butono de jara kalendaro" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "Alkrementa butono de monata kalendaro" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "Alkrementa butono de jara kalendaro" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "monato de kalendaro" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "jara kalendaro" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Stato: enŝaltita" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Stato: malŝaltita" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Stato" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Kontroli" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "Alkrementa butono de ĥorloĝo por m,ptm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "Dekrementa butono de ĥorloĝo por m,ptm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Stato: redaktebla" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Horloĝo" @@ -428,7 +428,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "ero de elektilo de kolorpaletro" @@ -438,11 +438,11 @@ msgstr "ero de elektilo de kolorpaletro" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "" @@ -450,27 +450,27 @@ msgstr "" msgid "diskselector item" msgstr "ero de diskelektilo" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Eltondi" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopii" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Alglui" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Elekti" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Ero" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Ero de komuna krado" @@ -482,40 +482,40 @@ msgstr "Indekso" msgid "Index Item" msgstr "Indeksero" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etikedo" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "stato: malfermita" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "stato: fermita" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "butono de panelo" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "progresbreto" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Radiobutono" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Stato: elektita" @@ -527,51 +527,51 @@ msgstr "Stato: ne elektita" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "ŝovilo" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "sago-butono" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "alkrementa sago-butono" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "dekrementa sago-butono" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "sago-butono" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Elektita" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Disigilo" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Ĝi havas menuo" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Malelektita" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Ilobretero" diff --git a/po/es.po b/po/es.po index e88a18d9d8..5f4b6eef12 100644 --- a/po/es.po +++ b/po/es.po @@ -4,12 +4,12 @@ # Aníbal Garrido , 2012. # Adrián Arévalo , 2015. # Roy W. Reese 2015. -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2015-05-03 18:19+0100\n" "Last-Translator: Adrián Arévalo \n" "Language-Team: Enlightenment Team\n" @@ -239,176 +239,176 @@ msgstr "Imágenes" msgid "Videos" msgstr "Vídeos" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Arriba" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Carpeta personal" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Buscar" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Aceptar" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Cancelar" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Estado: Desactivado" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "etiqueta de entrada multi-botón" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "elemento de entrada multi-botón" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "entrada multi-botón" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Título" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Título" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Atrás" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Siguiente" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 #, fuzzy msgid "Popup Title" msgstr "Nombre emergente" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 #, fuzzy msgid "Popup Body Text" msgstr "Texto emergente" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Burbuja" # Antiguemente: "Clickado" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Seleccionado" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Botón" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "elemento de calendario" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "Botón de decremento del mes" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "Botón de decremento del año" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "Botón de incremento del mes" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "Botón de incremento del año" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "mes del calendario" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "año del calendario" # RR: Traducción italiana usa ativado/desactivado. No sé a que refiere la cadena. -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Estado: Conectado" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Estado: Desconectado" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Estado" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Comprobar" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "Botón de aumento del reloj para am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "Botón de decremento del reloj para am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Estado: Editable" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Reloj" @@ -433,7 +433,7 @@ msgid "A:" msgstr "" # RR: Antiguamente - "Paleta de selección de color", pero creo que refiere a un selector como en las cadenas más abajo. -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "Selector de color de paleta" @@ -443,11 +443,11 @@ msgstr "Selector de color de paleta" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "Selector de día" @@ -455,27 +455,27 @@ msgstr "Selector de día" msgid "diskselector item" msgstr "Selector de disco" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Cortar" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Copiar" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Pegar" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Seleccionar" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Entrada" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Cuadrícula genérica" @@ -487,40 +487,40 @@ msgstr "Índice" msgid "Index Item" msgstr "Elemento del índice" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etiqueta" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "estado: abierto" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "estado: cerrado" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Ya hay un panel abierto" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Doble click para cerrar el menú de panel" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "botón del panel" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "barra de progreso" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Radio" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Estado: Seleccionado" @@ -532,52 +532,52 @@ msgstr "Estado: No seleccionado" msgid "Segment Control Item" msgstr "Elemento del control del segmento" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "deslizador" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "botón de incremento del spinner" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "botón de decremento del spinner" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "spinner" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Seleccionado" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Separador" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Tiene menú" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Sin seleccionar" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Elemento de la barra de herramientas" diff --git a/po/fi.po b/po/fi.po index 50d01ef391..1d31121816 100644 --- a/po/fi.po +++ b/po/fi.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the enlightenment package. # FIRST AUTHOR , 2014. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: enlightenment\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-08-31 15:13+0000\n" "Last-Translator: Kai Huuhko \n" "Language-Team: Finnish \n" @@ -239,172 +239,172 @@ msgstr "Kuvat" msgid "Videos" msgstr "Videot" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Ylös" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Koti" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Peruuta" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Tila: Pois käytöstä" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "moninappisyöttökentän nimiö" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "moninappisyöttökentän kohta" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "moninappisyöttökenttä" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Otsikko" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Otsikko" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Takaisin" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Seuraava" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Ponnahdusikkunan otsikko" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Ponnahdusikkunan leipäteksti" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Kupla" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Napsautettu" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Painike" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "kalenterin kohta" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "kalenterikuukausi" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "kalenterivuosi" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Tila: päällä" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Tila: pois päältä" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Tila" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Valinta" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Tila: muokattavissa" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Kello" @@ -428,7 +428,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "värivalitsimen palettikohta" @@ -438,11 +438,11 @@ msgstr "värivalitsimen palettikohta" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "päivyrin kohta" @@ -450,27 +450,27 @@ msgstr "päivyrin kohta" msgid "diskselector item" msgstr "kiekkovalitsimen kohta" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Leikkaa" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopioi" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Liitä" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Valitse" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Syöttökenttä" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Gengridin kohta" @@ -482,40 +482,40 @@ msgstr "Indeksi" msgid "Index Item" msgstr "Indeksin kohta" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Nimiö" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "tila: avattu" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "tila: suljettu" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Paneeli on auki" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Kaksoisnäpäytä sulkeaksesi paneelivalikon" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "Paneelinappi" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "Tilanneilmaisin" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Vaihtoehto" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Tila: valittu" @@ -527,51 +527,51 @@ msgstr "Tila: valitsematon" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "liukusäädin" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "pyörövalitsin" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "Pyörövalitsimen lisää-nappi" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "Pyörövalitsimen vähennä-nappi" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "pyörövalitsin" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Valittu" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Erotin" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Valikollinen" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Valitsematon" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Työkalupalkin kohta" diff --git a/po/fr.po b/po/fr.po index 8ca27b620b..a00ce8c671 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,12 +6,12 @@ # Jerome Pinot , 2012. # Chidambar Zinnoury , 2013. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: Elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-05-25 20:18+0000\n" "Last-Translator: Eliovir \n" "Language-Team: French \n" @@ -245,172 +245,172 @@ msgstr "Images" msgid "Videos" msgstr "Vidéos" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Monter" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Home" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Annuler" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "État : désactivé" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Titre" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Titre" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Retour" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Suivant" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Titre du Popup" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Corps du texte du Popup" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Bulle" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Cliqué" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Bouton" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "élément du calendrier" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "bouton du mois précédent" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "bouton de l'année précédente" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "bouton du mois suivant" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "bouton de l'année suivante" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "Mois du calendrier" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "Année du calendrier" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "État : activé" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "État : désactivé" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "État" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "À cocher" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "Bouton d'incrémentation pour matin, après-midi" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "Bouton de décrémentation pour matin, après-midi" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "État : éditable" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Horloge" @@ -434,7 +434,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "élément de palette de choix de couleur" @@ -444,11 +444,11 @@ msgstr "élément de palette de choix de couleur" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "élement de choix de date" @@ -456,27 +456,27 @@ msgstr "élement de choix de date" msgid "diskselector item" msgstr "élément de choix de disque" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Couper" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Copier" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Coller" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Sélectionner" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Entrée" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -488,40 +488,40 @@ msgstr "Index" msgid "Index Item" msgstr "" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Étiquette" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "état : ouvert" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "état : fermé" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "bouton de panneau" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "barre de progression" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Radio" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "État : sélectionné" @@ -533,51 +533,51 @@ msgstr "État : désélectionné" msgid "Segment Control Item" msgstr "Élément de contrôle de segment" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "curseur" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "bouton fléché" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "bouton fléché d'incrémentation" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "bouton fléché de décrémentation" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "bouton fléché" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Sélectionné" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Séparateur" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Possède un menu" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Désélectionné" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Élément de barre d'outils" diff --git a/po/gl.po b/po/gl.po index 0e76697619..de82eab78b 100644 --- a/po/gl.po +++ b/po/gl.po @@ -2,12 +2,12 @@ # This file is put in the public domain. # Aníbal Garrido , 2012. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-05-24 08:39+0000\n" "Last-Translator: Kaptan \n" "Language-Team: Galician \n" @@ -238,172 +238,172 @@ msgstr "Imaxes" msgid "Videos" msgstr "Vídeos" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Arriba" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Cartafol persoal" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Aceptar" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Cancelar" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Estado: Desactivado" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "etiqueta de entrada de botón múltiplo" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "elemento de entrada de botón múltiplo" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "entrada de botón múltiplo" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Título" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "subtítulo" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Atrás" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Seguinte" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Título da emerxente" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Corpo de texto emerxente" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Burbulla" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Premido" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Botón" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "calendario" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "Botón de diminución de mes do calendario" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "Botón de diminución de ano do calendario" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "Botón de aumento de mes do calendario" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "Botón de aumento de ano do calendario" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "mes do calendario" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "ano do calendario" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Estado: Conectado" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Estado: Desconectado" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Estado" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Comprobar" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "Botón de aumento do reloxo para am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "Botón de diminución do reloxo para am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Estado: Editable" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Reloxo" @@ -427,7 +427,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "Paleta de selección de cor" @@ -437,11 +437,11 @@ msgstr "Paleta de selección de cor" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "selector de día" @@ -449,27 +449,27 @@ msgstr "selector de día" msgid "diskselector item" msgstr "Selector de disco" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Cortar" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Copiar" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Pegar" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Seleccionar" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Entrada" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Grella xenérica" @@ -481,40 +481,40 @@ msgstr "Índice" msgid "Index Item" msgstr "Elemento do índice" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etiqueta" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "Estado: aberto" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "Estado: pechado" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "botón do panel" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "barra de progreso" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Radio" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Estado: Seleccionado" @@ -526,52 +526,52 @@ msgstr "Estado: Sen seleccionar" msgid "Segment Control Item" msgstr "Segmento de control" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "Barra de desprazamento" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "botón de spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "botón de aumento" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "botón de disminución" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "botón de spinner" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Seleccionado" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Separador" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Ten menú" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Non seleccionado" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Elemento da barra de ferramentas" diff --git a/po/hu.po b/po/hu.po index 79549589fa..5a3dfd5b65 100644 --- a/po/hu.po +++ b/po/hu.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary 1.8.2\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-01-29 15:27+0100\n" "Last-Translator: rezso \n" "Language-Team: General\n" @@ -240,172 +240,172 @@ msgstr "Képek" msgid "Videos" msgstr "Videók" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Fel" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Kezdőlap" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Mégsem" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Állapot: letiltva" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Cím" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Cím" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Vissza" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Következő" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Popup címsora" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Popup szövege" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Buborék" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Gomb" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%Y. %B" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "naptárelem" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "naptár: hónap csökkentése gomb" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "naptár: év csökkentése gomb" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "naptár: hónap növelése gomb" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "naptár: év növelése gomb" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "naptár hónapja" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "naptár éve" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Állapot: be" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Állapot: ki" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Állapot" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Ellenőrzés" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Állapot: szerkeszthető" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Óra" @@ -429,7 +429,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "" @@ -439,11 +439,11 @@ msgstr "" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "" @@ -451,27 +451,27 @@ msgstr "" msgid "diskselector item" msgstr "" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Kivágás" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Másolás" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Beillesztés" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Kiválaszt" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Bejegyzés" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -483,40 +483,40 @@ msgstr "" msgid "Index Item" msgstr "" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Címke" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "állapot: nyitott" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "állapot: zárt" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "panelgomb" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "folyamatjelző" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Rádió" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Állapot: kijelölve" @@ -528,50 +528,50 @@ msgstr "Állapot: nincs kijelölve" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "csúszka" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Kiválasztva" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Elválasztó" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Nincs kijelölve" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Eszköztár elem" diff --git a/po/it.po b/po/it.po index 1e1c7b166d..228d970353 100644 --- a/po/it.po +++ b/po/it.po @@ -3,13 +3,13 @@ # This file is put in the public domain. # Massimo Maiurana , 2013 # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: Elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" -"PO-Revision-Date: 2017-01-01 16:29+0100\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" +"PO-Revision-Date: 2018-04-01 19:01+0200\n" "Last-Translator: Massimo Maiurana \n" "Language-Team: General\n" "Language: it\n" @@ -238,172 +238,171 @@ msgstr "Immagini" msgid "Videos" msgstr "Video" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Su" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Home" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Cerca" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Annulla" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Stato: disabilitato" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "Lista per bottone (hoversel)" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "etichetta voce multibottone" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "oggetto voce multibottone" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "voce multibottone" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Titolo" -#: src/lib/elementary/elc_naviframe.c:440 -#, fuzzy +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" -msgstr "Titolo" +msgstr "Sottotitolo" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Indietro" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Avanti" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Titolo popup" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Testo corpo popup" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" -msgstr "" +msgstr "Allarme" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Bolla" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Cliccato" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Bottone" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "oggetto calendario" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "bottone diminuzione mese calendario" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "bottone diminuzione anno calendario" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "bottone aumento mese calendario" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "bottone aumento anno calendario" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "mese del calendario" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "anno del calendario" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Stato: attivo" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Stato: inattivo" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Stato" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Controllo" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "bottone aumento orologio am/pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "bottone diminuzione orologio am/pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Stato: modificabile" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Orologio" @@ -427,7 +426,7 @@ msgstr "B:" msgid "A:" msgstr "A:" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "oggetto palette selezione colore" @@ -437,11 +436,11 @@ msgstr "oggetto palette selezione colore" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "oggetto selettore giorno" @@ -449,27 +448,27 @@ msgstr "oggetto selettore giorno" msgid "diskselector item" msgstr "selettore disco" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Taglia" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Copia" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Incolla" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Seleziona" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Voce" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "oggetto griglia generica" @@ -481,40 +480,40 @@ msgstr "Indice" msgid "Index Item" msgstr "oggetto indice" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etichetta" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "Stato: aperto" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "Stato: chiuso" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "C'è un pannello aperto" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Doppio tap per chiudere il menù del pannello" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "bottone del pannello" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "barra avanzamento" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Opzione" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Stato: selezionato" @@ -526,50 +525,50 @@ msgstr "Stato: non selezionato" msgid "Segment Control Item" msgstr "Oggetto controllo segmento" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "cursore" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "incrementato" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "decrementato" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "bottone aumento spinner" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "bottone diminuzione spinner" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "testo spinner" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Selezionato" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Separatore" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Include menù" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Non selezionato" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Oggetto della barra strumenti" diff --git a/po/ja.po b/po/ja.po index 535055182d..90578d9173 100644 --- a/po/ja.po +++ b/po/ja.po @@ -2,12 +2,12 @@ # Copyright (C) 2012 Enlightenment development team # This file is put in the public domain. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: Efl\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2012-06-24 17:10+0900\n" "Last-Translator: Daichi Fukui\n" "Language-Team: Enlightenment Team\n" @@ -238,171 +238,171 @@ msgstr "Pictures" msgid "Videos" msgstr "Videos" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "" @@ -426,7 +426,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "" @@ -436,12 +436,12 @@ msgstr "" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 #, fuzzy msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "" @@ -449,27 +449,27 @@ msgstr "" msgid "diskselector item" msgstr "" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -481,40 +481,40 @@ msgstr "" msgid "Index Item" msgstr "" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "" @@ -526,50 +526,50 @@ msgstr "" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "" diff --git a/po/ko.po b/po/ko.po index 95a806c189..8c6c2e5864 100644 --- a/po/ko.po +++ b/po/ko.po @@ -5,12 +5,12 @@ # Daniel Juyung Seo , 2011-2013 # Seong-ho Cho , 2012-2013 # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: Efl\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-11-10 01:01+0900\n" "Last-Translator: Daniel Juyung Seo \n" "Language-Team: Enlightenment Team\n" @@ -242,171 +242,171 @@ msgstr "사진" msgid "Videos" msgstr "영상" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "" @@ -430,7 +430,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "" @@ -440,12 +440,12 @@ msgstr "" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 #, fuzzy msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "" @@ -453,27 +453,27 @@ msgstr "" msgid "diskselector item" msgstr "" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -485,40 +485,40 @@ msgstr "" msgid "Index Item" msgstr "" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "" @@ -530,50 +530,50 @@ msgstr "" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "" diff --git a/po/lt.po b/po/lt.po index 5dba59ceef..723b62d213 100644 --- a/po/lt.po +++ b/po/lt.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the enlightenment package. # FIRST AUTHOR , 2010. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: enlightenment\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-02-21 22:38+0000\n" "Last-Translator: Mantas Kriaučiūnas \n" "Language-Team: Lithuanian \n" @@ -239,171 +239,171 @@ msgstr "Paveikslėliai" msgid "Videos" msgstr "Video" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Gerai" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Atsisakyti" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Atgal" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Mygtukas" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Būsena" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Laikrodis" @@ -427,7 +427,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "" @@ -437,11 +437,11 @@ msgstr "" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "" @@ -449,27 +449,27 @@ msgstr "" msgid "diskselector item" msgstr "" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Iškirpti" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopijuoti" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Įdėti" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Pasirinkti" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -481,40 +481,40 @@ msgstr "" msgid "Index Item" msgstr "" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etiketė" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "skydelio mygtukas" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "" @@ -526,50 +526,50 @@ msgstr "" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "šliaužiklis" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Skirtukas" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Turi meniu" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Nepasirinkta(s)" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "" diff --git a/po/nl.po b/po/nl.po index 528040b6cd..3fd33c7554 100644 --- a/po/nl.po +++ b/po/nl.po @@ -3,12 +3,12 @@ # This file is put in the public domain. # Fabian Nowak , 2011. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary 0.7.0.57309\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2011-06-19 16:41+0100\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: Dutch \n" @@ -242,171 +242,171 @@ msgstr "" msgid "Videos" msgstr "" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Omhoog" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Persoonlijke map" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Annuleren" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "" @@ -430,7 +430,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "" @@ -440,11 +440,11 @@ msgstr "" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "" @@ -452,27 +452,27 @@ msgstr "" msgid "diskselector item" msgstr "" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Knippen" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopiëren" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Plakken" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Selecteren" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -484,40 +484,40 @@ msgstr "" msgid "Index Item" msgstr "" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "" @@ -530,52 +530,52 @@ msgstr "Selecteren" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 #, fuzzy msgid "Selected" msgstr "Selecteren" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 #, fuzzy msgid "Unselected" msgstr "Selecteren" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "" diff --git a/po/pl.po b/po/pl.po index fc44f9eb80..6b2161bffd 100644 --- a/po/pl.po +++ b/po/pl.po @@ -3,12 +3,12 @@ # This file is put in the public domain. # Konrad Makowski , 2013 # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2013-11-23 14:48+0100\n" "Last-Translator: Konrad Makowski \n" "Language-Team: General\n" @@ -241,172 +241,172 @@ msgstr "Obrazy" msgid "Videos" msgstr "Wideo" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Do góry" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Początek" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "OK" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Anuluj" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Statuj: wyłączony" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "etykietka przycisku wyboru" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "wartość pozycji przycisku wyboru" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "przycisk wyboru" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Tytuł" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Tytuł" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Cofnij" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Następny" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Tytuł okienka" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Treść główna okienka" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Bąbelek" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Kliknięty" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Przycisk" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "pozycja w kalendarzu" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "przycisk cofający o miesiąc w kalendarzu" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "przycisk cofający o rok w kalendarzu" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "przycisk przesuwający o miesiąc do przodu w kalendarzu" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "przycisk przesuwający o rok do przodu w kalendarzu" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "kalendarz z miesiącami" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "kalendarz roczny" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Stan: włączony" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Stan: wyłączony" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Stan" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Sprawdzony" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "przycisk poganiający czas am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "przycik cofający czas am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Stan: edytowalny" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Zegar" @@ -430,7 +430,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "paleta wyboru kolorów" @@ -440,11 +440,11 @@ msgstr "paleta wyboru kolorów" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "wybór dni" @@ -452,27 +452,27 @@ msgstr "wybór dni" msgid "diskselector item" msgstr "wybór dysków" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Wytnij" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopiuj" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Wklej" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Wybór" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Pozycja" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -484,40 +484,40 @@ msgstr "Indeks" msgid "Index Item" msgstr "Indeks" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etykieta" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "stan: otwarty" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "stan: zamknięty" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "panel przycisków" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "pasek postępu" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Stan: wybrany" @@ -529,51 +529,51 @@ msgstr "Stan: nie wybrany" msgid "Segment Control Item" msgstr "Kontrola Segmentami" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "slajder" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "przycisk zwiększający typu spinner" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "przycisk zmniejszający typu spinner" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "spinner" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Wybrany" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Separator" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Posiada menu" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Nie wybrany" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Pasek narzędzi" diff --git a/po/pt.po b/po/pt.po index 11c3cc0a9b..21b40583fe 100644 --- a/po/pt.po +++ b/po/pt.po @@ -3,12 +3,12 @@ # This file is public domain. # Sérgio Marques , 2010-2014 # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: Elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2013-11-05 14:11-0000\n" "Last-Translator: Sérgio Marques \n" "Language-Team: General\n" @@ -239,172 +239,172 @@ msgstr "Imagens" msgid "Videos" msgstr "Vídeos" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Para cima" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Pasta pessoal" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Aceitar" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Cancelar" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Estado: inativo" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "texto da entrada de botão múltiplo" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "item da entrada de botão múltiplo" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "entrada do botão múltiplo" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Título" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Título" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Recuar" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Avançar" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Título do alerta" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Texto do alerta" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Balão" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Clicado" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Botão" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "item do calendário" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "botão de redução do mês de calendário" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "botão de redução do ano de calendário" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "botão de aumento do mês de calendário" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "botão de aumento do ano de calendário" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "mês do calendário" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "ano do calendário" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Estado: ligado" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Estado: desligado" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Estado" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Seleção" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "botão de aumento do relógio para am, pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "botão de redução do relógio para am, pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Estado: editável" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Relógio" @@ -428,7 +428,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "item do seletor de cor" @@ -438,11 +438,11 @@ msgstr "item do seletor de cor" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "item do seletor de dia" @@ -450,27 +450,27 @@ msgstr "item do seletor de dia" msgid "diskselector item" msgstr "item do seletor de disco" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Cortar" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Copiar" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Colar" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Selecionar" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Entrada" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Item da grelha genérica" @@ -482,40 +482,40 @@ msgstr "Índice" msgid "Index Item" msgstr "Item do índice" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Texto" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "estado: aberto" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "estado: fechado" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "botão do painel" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "barra de progresso" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Opção" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Estado: selecionado" @@ -527,52 +527,52 @@ msgstr "Estado: não selecionado" msgid "Segment Control Item" msgstr "Item do controlo de segmento" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "barra deslizante" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "spinner" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "botão de aumento do spinner" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "botão de diminuição do spinner" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "spinner" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Selecionado" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Separador" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Tem menu" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Não selecionado" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Item da barra de ferramentas" diff --git a/po/ru.po b/po/ru.po index 23e0ef5888..bb8457b526 100644 --- a/po/ru.po +++ b/po/ru.po @@ -4,12 +4,12 @@ # Danny Moshnakov , 2012. # Igor Murzov , 2015. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary 1.11\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2015-02-07 15:16+0300\n" "Last-Translator: Игорь Мурзов \n" "Language-Team: ru \n" @@ -240,172 +240,172 @@ msgstr "Изображения" msgid "Videos" msgstr "Видео" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Вверх" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Дом" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Поиск" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "ОК" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Отмена" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Состояние: Отключено" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "метка многокопочного элемента" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "кнопка многокопочного элемента" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "многокнопочный элемент" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Заголовок" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Заголовок" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Назад" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Вперёд" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Заголовок всплывающего окна" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Текст всплывающего окна" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Облачко" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Нажато" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Кнопка" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "элемент календаря" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "кнопка календаря для уменьшения месяца" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "кнопка календаря для уменьшения года" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "кнопка календаря для увеличения месяца" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "кнопка календаря для увеличения года" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "месяц календаря" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "год календаря" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Состояния: Включено" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Состояние: Выключено" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Состояние" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Флажок" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "кнопка часов для увеличения am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "кнопка часов для уменьшения am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Состояние: Редактируемо" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Часы" @@ -429,7 +429,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "элемент выбора цвета палитры" @@ -439,11 +439,11 @@ msgstr "элемент выбора цвета палитры" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "элемент выбора дня" @@ -451,27 +451,27 @@ msgstr "элемент выбора дня" msgid "diskselector item" msgstr "элемент диска выбора" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Вырезать" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Копировать" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Вставить" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Выбрать" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Запись" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Элемент сетки" @@ -483,40 +483,40 @@ msgstr "Алфавитный указатель" msgid "Index Item" msgstr "Элемент алфавитного указателя" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Метка" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "состояние: открыто" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "состояние: закрыто" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Панель открыта" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Двойной щелчок, чтобы закрыть меню панели" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "кнопка панели" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "индикатор выполнения" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Радио флажок" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Состояние: Выбрано" @@ -528,51 +528,51 @@ msgstr "Состояние: Невыбрано" msgid "Segment Control Item" msgstr "Элемент сегментного элемента управления" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "бегунок" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "счётчик" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "кнопка увеличения счётчика" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "кнопка уменьшения счётчика" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "счётчик" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Выбрано" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Разделитель" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "С меню" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Невыбрано" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Элемент панели инструментов" diff --git a/po/sl.po b/po/sl.po index 07f9a84c24..50620c5023 100644 --- a/po/sl.po +++ b/po/sl.po @@ -3,12 +3,12 @@ # This file is put in the public domain. # r1to , 2011. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: Efl\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2016-09-21 17:00+0200\n" "Last-Translator: Renato Rener \n" "Language-Team: Enlightenment Team\n" @@ -238,172 +238,172 @@ msgstr "Slike" msgid "Videos" msgstr "Videi" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Gor" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Dom" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Poišči" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "V redu" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Prekliči" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Stanje: onemogočeno" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "oznaka vnosa večkratnih gumbov" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "predmet vnosa večkratnih gumbov" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "vnos večkratnih gumbov" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Naslov" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Naslov" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Nazaj" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Naslednje" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Naslov pojavnika" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Besedilo telesa pojavnika" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Mehurček" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Kliknjeno" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Gumb" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "predmet koledarja" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "koledarski gumb za mesec nazaj" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "koledarski gumb za leto nazaj" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "koledarski gumb za mesec naprej" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "koledarski gumb za leto naprej" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "mesečni koledar" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "letni koledar" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Stanje: Vključeno" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Stanje: Izključeno" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Stanje" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Preveri" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "gumb zviševanja ure za am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "gumb zniževanja ure za am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Stanje: Urejanje možno" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Ura" @@ -427,7 +427,7 @@ msgstr "B:" msgid "A:" msgstr "A:" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "izbirnik s paleto barve" @@ -437,11 +437,11 @@ msgstr "izbirnik s paleto barve" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "izbirnik dneva" @@ -449,27 +449,27 @@ msgstr "izbirnik dneva" msgid "diskselector item" msgstr "izbirnik diska" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Izreži" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopiraj" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Prilepi" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Izberi" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Vnos" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Generator mreže" @@ -481,40 +481,40 @@ msgstr "Kazalo" msgid "Index Item" msgstr "Predmet kazala" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Oznaka" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "stanje: odprto" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "stanje: zaprto" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Vrstica je odprta" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Dvoklik za zaprtje menija vrstice" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "gumb vrstice" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "vrstica poteka" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Radio" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Stanje: Izbrano" @@ -526,50 +526,50 @@ msgstr "Stanje: Neizbrano" msgid "Segment Control Item" msgstr "Nadzornik segmenta" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "drsnik" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "povečevano" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "zniževano" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "vrtilnik" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "gumb za povečevanje vrtilnika" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "gumb za zniževanje vrtilnika" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "besedilo vrtilnika" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Izbrano" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Ločilnik" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Ima meni" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Neizbrano" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Predmet orodne vrstice" diff --git a/po/sr.po b/po/sr.po index 504edb9ac2..7e14a29b68 100644 --- a/po/sr.po +++ b/po/sr.po @@ -4,12 +4,12 @@ # FIRST AUTHOR , 2013. # Саша Петровић , 2013, 2015. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: а\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2015-01-31 14:06+0100\n" "Last-Translator: Саша Петровић \n" "Language-Team: српски \n" @@ -242,172 +242,172 @@ msgstr "Слике" msgid "Videos" msgstr "Видео снимци" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Горе" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Лична фасцикла" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Тражи" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "У реду" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Откажи" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Стање: онемогућено" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "ознака улаза са више дугмади" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "ставка улаза са више дугмади" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "улаз са више дугмади" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Наслов" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Наслов" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Назад" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Следеће" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Искачући наслов" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Тело искачућег текста" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Мехур" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Кликнуто" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Дугме" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "ставка календара" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "дугме померања месеца календара уназад" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "дугме померања година календара уназад" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "дугме померања месеца календара унапред" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "дугме померања година календара унапред" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "месец календара" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "година календара" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Стање : укључен" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Стање: искључен" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Стање" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Провера" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "дугме за увећање часовника са am,pm" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "дугме за смањивање часовника са am,pm" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Стање: уредиво" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Сат" @@ -431,7 +431,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "ставка избирача палете боја" @@ -441,11 +441,11 @@ msgstr "ставка избирача палете боја" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "ставка одабирач дана" @@ -453,27 +453,27 @@ msgstr "ставка одабирач дана" msgid "diskselector item" msgstr "ставка одабира диска" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Исеци" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Умножи" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Прилепи" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Изаберите" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Улаз" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Ставка родне мреже" @@ -485,40 +485,40 @@ msgstr "Садржина" msgid "Index Item" msgstr "Ставка садржине" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Натпис" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "стање: отворено" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "стање: затворено" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Полица је отворена" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Двапут додирните за затварање изборника полице" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "дугме полице" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "трака напретка" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Искључујуће дугме" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Стање: означено" @@ -530,51 +530,51 @@ msgstr "Стање: неозначено" msgid "Segment Control Item" msgstr "Ставка провере дела" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "клизач" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "избирач са стрелицама" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "стрелица избирача увећaња" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "стрелица избирача смањења" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "избирач са стрелицама" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Изабрано" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Одвајач" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Има изборник" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Неозначено" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Ставка траке алата" diff --git a/po/tr.po b/po/tr.po index 4b61649b0a..1bbff72966 100644 --- a/po/tr.po +++ b/po/tr.po @@ -3,12 +3,12 @@ # This file is distributed under the same license as the enlightenment package. # FIRST AUTHOR , 2010. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: enlightenment\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2014-04-18 13:35+0000\n" "Last-Translator: Ali E.İMREK \n" "Language-Team: Turkish \n" @@ -239,172 +239,172 @@ msgstr "Resimler" msgid "Videos" msgstr "Videolar" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Yukarı" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Ev" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Tamam" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "İptal" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Durum: Kapalı" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "çoklu düğme giriş etiketi" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "çoklu düğme giriş öğesi" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "çoklu düğme girişi" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Başlık" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Başlık" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Geri" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Sonraki" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Pencere başlığı" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Pencere gövde metni" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Balon" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Tıklanmış" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Düğme" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "takvim nesnesi" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "takvim ayı azaltma düğmesi" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "takvim yılı azaltma düğmesi" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "takvim ayı arttırma düğmesi" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "takvim yılı arttırma düğmesi" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "takvim ayı" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "takvim yılı" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Durum: Açık" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Durum: Kapalı" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Durum" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Kontrol et" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "öö,ös için saat arttırma düğmesi" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "öö,ös için saat azaltma düğmesi" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Durum: Düzenlenebilir" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Saat" @@ -428,7 +428,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "renk seçici paleti öğesi" @@ -438,11 +438,11 @@ msgstr "renk seçici paleti öğesi" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "gün seçici ögesi" @@ -450,27 +450,27 @@ msgstr "gün seçici ögesi" msgid "diskselector item" msgstr "disk seçici öğesi" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Kes" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Kopyala" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Yapıştır" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Seç" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Girdi" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Izgara öğesi" @@ -482,40 +482,40 @@ msgstr "Dizin" msgid "Index Item" msgstr "fihrist öğesi" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Etiket" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "durum: açık" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "durum: kapalı" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "panel düğmesi" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "ilerleme çubuğu" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Radyo" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Durum: Seçili" @@ -527,51 +527,51 @@ msgstr "Bölge: Seçilmedi" msgid "Segment Control Item" msgstr "Bölüm Kontrol Öğesi" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "kaydırıcı" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "değiştirici" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "değiştirici arttırma düğmesi" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "değiştirici azaltma düğmesi" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 #, fuzzy msgid "spinner text" msgstr "değiştirici" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Seçili" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Ayraç" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "menü" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Seçili değil" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Araç Çubuğu Öğesi" diff --git a/po/vi.po b/po/vi.po index 48b8191634..09d3b0ac3d 100644 --- a/po/vi.po +++ b/po/vi.po @@ -3,12 +3,12 @@ # This file is put in the public domain. # Thiep Ha , 2015. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2015-09-29 18:06+0900\n" "Last-Translator: Thiep Ha \n" "Language-Team: General\n" @@ -240,172 +240,172 @@ msgstr "Hình Ảnh" msgid "Videos" msgstr "Video" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "Trên" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "Trang Chủ" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "Tìm Kiếm" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "Đồng Ý" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "Hủy" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "Trạng Thái: Không Khả Dụng" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "Nhãn Của Bộ Nhập Nhiều Nút" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "Mục Của Bộ Nhập Nhiều Nút" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "Bộ Nhập Nhiều Nút" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "Đề Mục" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 #, fuzzy msgid "Subtitle" msgstr "Đề Mục" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "Quay Lại" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "Tiếp" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "Tiêu Đề Hộp Thoại" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "Văn Bản Thân Hộp Thoại" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "Bubble" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "Đã Nhấp" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "Nút" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "%B" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "%Y" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "Mục Của Lịch" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 msgid "calendar decrement month button" msgstr "Nút Giảm Tháng" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 msgid "calendar decrement year button" msgstr "Nút Giảm Năm" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 msgid "calendar increment month button" msgstr "Nút Tăng Tháng" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 msgid "calendar increment year button" msgstr "Nút Tăng Năm" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "Lịch Tháng" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 msgid "calendar year" msgstr "Lịch Năm" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "Trạng Thái: Bật" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "Trạng Thái: Tắt" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "Trạng Thái" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "Chọn" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "Nút Tăng Cho SA,CH Của Đồng Hồ" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "Nút Giảm Cho SA,CH Của Đồng Hồ" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "Trạng Thái: Có Thể Chỉnh Sửa" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "Đồng Hồ" @@ -429,7 +429,7 @@ msgstr "Xanh Da Trời:" msgid "A:" msgstr "Độ Mờ:" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "Mục Của Bảng Chọn Màu" @@ -439,11 +439,11 @@ msgstr "Mục Của Bảng Chọn Màu" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 msgid "day selector item" msgstr "Mục Của Bảng Chọn Ngày" @@ -451,27 +451,27 @@ msgstr "Mục Của Bảng Chọn Ngày" msgid "diskselector item" msgstr "Mục Của Bộ Chọn Đĩa" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "Cắt" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "Sao Chép" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "Dán" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "Chọn" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "Bộ Nhập" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "Mục Của Gengrid" @@ -483,40 +483,40 @@ msgstr "Chỉ Mục" msgid "Index Item" msgstr "Mục Của Bộ Chỉ Mục" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "Nhãn" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "Trạng Thái: Mở" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "Trạng Thái: Đóng" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "Một Bảng Đang Mở" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "Nhấn kép để đóng bảng chọn" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "Nút Bảng" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "Thanh Trạng Thái" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "Đài" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "Trạng Thái: Đã Chọn" @@ -528,50 +528,50 @@ msgstr "Trạng Thái: Chưa Chọn" msgid "Segment Control Item" msgstr "Mục Điều Khiển Đoạn" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "Thanh Trượt" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "Đã Tăng" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "Đã Giảm" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "Bộ Xoay" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "Bút Tăng Bộ Xoay" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "Nút Giảm Bộ Xoay" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "Văn Bản Bộ Xoay" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "Đã Chọn" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "Bộ Tách" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "Có Bảng Chọn" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "Không Chọn" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "Mục Của Thanh Công Cụ" diff --git a/po/zh_CN.po b/po/zh_CN.po index 667d3a2620..11d17f5a4a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -4,12 +4,12 @@ # This file is distributed under the same license as the Efl package. # Aron Xu , 2012. # -#: src/lib/elementary/elm_config.c:4086 +#: src/lib/elementary/elm_config.c:4164 msgid "" msgstr "" "Project-Id-Version: elementary\n" "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2017-12-20 00:20+0900\n" +"POT-Creation-Date: 2018-07-09 16:07+0900\n" "PO-Revision-Date: 2012-12-22 03:55+0800\n" "Last-Translator: Aron Xu \n" "Language-Team: Chinese (simplified)\n" @@ -240,176 +240,176 @@ msgstr "图片" msgid "Videos" msgstr "视频" -#: src/lib/elementary/elc_fileselector.c:1907 +#: src/lib/elementary/elc_fileselector.c:1798 msgid "Up" msgstr "向上" -#: src/lib/elementary/elc_fileselector.c:1921 +#: src/lib/elementary/elc_fileselector.c:1812 msgid "Home" msgstr "主目录" -#: src/lib/elementary/elc_fileselector.c:1940 +#: src/lib/elementary/elc_fileselector.c:1831 msgid "Search" msgstr "" -#: src/lib/elementary/elc_fileselector.c:2232 +#: src/lib/elementary/elc_fileselector.c:2107 msgid "OK" msgstr "确定" -#: src/lib/elementary/elc_fileselector.c:2242 -#: src/lib/elementary/elm_entry.c:1719 src/lib/elementary/elm_entry.c:1744 +#: src/lib/elementary/elc_fileselector.c:2117 +#: src/lib/elementary/elm_entry.c:1733 src/lib/elementary/elm_entry.c:1758 msgid "Cancel" msgstr "取消" -#: src/lib/elementary/elc_hoversel.c:436 src/lib/elementary/efl_ui_button.c:263 -#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/elm_gengrid.c:1483 -#: src/lib/elementary/elm_genlist.c:1750 src/lib/elementary/elm_list.c:2157 -#: src/lib/elementary/efl_ui_radio.c:198 +#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208 +#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1511 +#: src/lib/elementary/elm_genlist.c:1759 src/lib/elementary/elm_list.c:2172 +#: src/lib/elementary/efl_ui_radio.c:201 #: src/lib/elementary/elm_segment_control.c:529 -#: src/lib/elementary/elm_spinner.c:1031 src/lib/elementary/elm_toolbar.c:2276 +#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2281 msgid "State: Disabled" msgstr "状态:已禁用" -#: src/lib/elementary/elc_hoversel.c:638 +#: src/lib/elementary/elc_hoversel.c:651 msgid "Hoversel" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:675 +#: src/lib/elementary/elc_multibuttonentry.c:682 msgid "multi button entry label" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:697 +#: src/lib/elementary/elc_multibuttonentry.c:704 msgid "multi button entry item" msgstr "" -#: src/lib/elementary/efl_ui_multibuttonentry.c:1579 +#: src/lib/elementary/elc_multibuttonentry.c:1586 msgid "multi button entry" msgstr "" -#: src/lib/elementary/elc_naviframe.c:433 -#: src/lib/elementary/elc_naviframe.c:461 +#: src/lib/elementary/elc_naviframe.c:435 +#: src/lib/elementary/elc_naviframe.c:463 msgid "Title" msgstr "" -#: src/lib/elementary/elc_naviframe.c:440 +#: src/lib/elementary/elc_naviframe.c:442 msgid "Subtitle" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1027 -#: src/lib/elementary/elc_naviframe.c:1245 +#: src/lib/elementary/elc_naviframe.c:1029 +#: src/lib/elementary/elc_naviframe.c:1247 msgid "Back" msgstr "" -#: src/lib/elementary/elc_naviframe.c:1343 +#: src/lib/elementary/elc_naviframe.c:1345 msgid "Next" msgstr "" -#: src/lib/elementary/elc_popup.c:305 src/lib/elementary/elc_popup.c:969 +#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992 msgid "Popup Title" msgstr "" -#: src/lib/elementary/elc_popup.c:315 src/lib/elementary/elc_popup.c:1045 +#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068 msgid "Popup Body Text" msgstr "" -#: src/lib/elementary/elc_popup.c:1820 +#: src/lib/elementary/elc_popup.c:1841 msgid "Alert" msgstr "" -#: src/lib/elementary/elm_bubble.c:162 +#: src/lib/elementary/elm_bubble.c:163 msgid "Bubble" msgstr "气泡" -#: src/lib/elementary/efl_ui_button.c:70 +#: src/lib/elementary/efl_ui_button.c:71 msgid "Clicked" msgstr "点击" -#: src/lib/elementary/efl_ui_button.c:290 +#: src/lib/elementary/efl_ui_button.c:250 msgid "Button" msgstr "按钮" -#: src/lib/elementary/elm_calendar.c:228 +#: src/lib/elementary/elm_calendar.c:244 #: src/lib/elementary/efl_ui_calendar.c:198 msgid "%B %Y" msgstr "%B %Y" -#: src/lib/elementary/elm_calendar.c:234 +#: src/lib/elementary/elm_calendar.c:250 msgid "%B" msgstr "" -#: src/lib/elementary/elm_calendar.c:240 +#: src/lib/elementary/elm_calendar.c:256 msgid "%Y" msgstr "" -#: src/lib/elementary/elm_calendar.c:365 +#: src/lib/elementary/elm_calendar.c:382 #: src/lib/elementary/efl_ui_calendar.c:245 msgid "calendar item" msgstr "日历条目" -#: src/lib/elementary/elm_calendar.c:392 +#: src/lib/elementary/elm_calendar.c:410 #: src/lib/elementary/efl_ui_calendar.c:272 #, fuzzy msgid "calendar decrement month button" msgstr "日历减量按钮" -#: src/lib/elementary/elm_calendar.c:398 +#: src/lib/elementary/elm_calendar.c:416 #, fuzzy msgid "calendar decrement year button" msgstr "日历减量按钮" -#: src/lib/elementary/elm_calendar.c:404 +#: src/lib/elementary/elm_calendar.c:422 #: src/lib/elementary/efl_ui_calendar.c:278 #, fuzzy msgid "calendar increment month button" msgstr "日历增量按钮" -#: src/lib/elementary/elm_calendar.c:410 +#: src/lib/elementary/elm_calendar.c:428 #, fuzzy msgid "calendar increment year button" msgstr "日历增量按钮" -#: src/lib/elementary/elm_calendar.c:415 +#: src/lib/elementary/elm_calendar.c:433 #: src/lib/elementary/efl_ui_calendar.c:283 msgid "calendar month" msgstr "日历月" -#: src/lib/elementary/elm_calendar.c:420 +#: src/lib/elementary/elm_calendar.c:438 #: src/lib/elementary/efl_ui_calendar.c:286 #, fuzzy msgid "calendar year" msgstr "日历条目" -#: src/lib/elementary/efl_ui_check.c:65 src/lib/elementary/efl_ui_check.c:210 -#: src/lib/elementary/efl_ui_radio.c:120 src/lib/elementary/efl_ui_radio.c:199 +#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201 +#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202 msgid "State: On" msgstr "状态:开启" -#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:222 -#: src/lib/elementary/efl_ui_radio.c:201 +#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213 +#: src/lib/elementary/efl_ui_radio.c:204 msgid "State: Off" msgstr "状态:关闭" -#: src/lib/elementary/efl_ui_check.c:206 src/lib/elementary/efl_ui_check.c:219 +#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210 msgid "State" msgstr "状态" -#: src/lib/elementary/efl_ui_check.c:340 +#: src/lib/elementary/efl_ui_check.c:355 msgid "Check" msgstr "检查" -#: src/lib/elementary/elm_clock.c:304 +#: src/lib/elementary/elm_clock.c:309 msgid "clock increment button for am,pm" msgstr "上下午的时钟增量按钮" -#: src/lib/elementary/elm_clock.c:312 +#: src/lib/elementary/elm_clock.c:317 msgid "clock decrement button for am,pm" msgstr "上下午的时钟减量按钮" -#: src/lib/elementary/elm_clock.c:691 +#: src/lib/elementary/elm_clock.c:714 msgid "State: Editable" msgstr "状态:可编辑" -#: src/lib/elementary/elm_clock.c:726 +#: src/lib/elementary/elm_clock.c:749 msgid "Clock" msgstr "时钟" @@ -433,7 +433,7 @@ msgstr "" msgid "A:" msgstr "" -#: src/lib/elementary/elm_colorselector.c:1706 +#: src/lib/elementary/elm_colorselector.c:1707 msgid "color selector palette item" msgstr "色彩选择器项目" @@ -444,11 +444,11 @@ msgstr "色彩选择器项目" #. but if this is a right-to-left language like arabic, Farsi, #. Hebrew, etc. then change this string to be "default:RTL" #. -#: src/lib/elementary/elm_config.c:4109 +#: src/lib/elementary/elm_config.c:4187 msgid "default:LTR" msgstr "default:LTR" -#: src/lib/elementary/elm_dayselector.c:402 +#: src/lib/elementary/elm_dayselector.c:437 #, fuzzy msgid "day selector item" msgstr "磁盘选择器项目" @@ -457,27 +457,27 @@ msgstr "磁盘选择器项目" msgid "diskselector item" msgstr "磁盘选择器项目" -#: src/lib/elementary/elm_entry.c:1709 +#: src/lib/elementary/elm_entry.c:1723 msgid "Cut" msgstr "粘贴" -#: src/lib/elementary/elm_entry.c:1712 +#: src/lib/elementary/elm_entry.c:1726 msgid "Copy" msgstr "复制" -#: src/lib/elementary/elm_entry.c:1716 src/lib/elementary/elm_entry.c:1738 +#: src/lib/elementary/elm_entry.c:1730 src/lib/elementary/elm_entry.c:1752 msgid "Paste" msgstr "粘贴" -#: src/lib/elementary/elm_entry.c:1731 +#: src/lib/elementary/elm_entry.c:1745 msgid "Select" msgstr "选择" -#: src/lib/elementary/elm_entry.c:3831 +#: src/lib/elementary/elm_entry.c:3894 msgid "Entry" msgstr "条目" -#: src/lib/elementary/elm_gengrid.c:1513 +#: src/lib/elementary/elm_gengrid.c:1541 msgid "Gengrid Item" msgstr "" @@ -489,40 +489,40 @@ msgstr "索引" msgid "Index Item" msgstr "索引条目" -#: src/lib/elementary/elm_label.c:405 +#: src/lib/elementary/elm_label.c:403 msgid "Label" msgstr "标签" -#: src/lib/elementary/elm_panel.c:83 +#: src/lib/elementary/elm_panel.c:84 msgid "state: opened" msgstr "状态:已打开" -#: src/lib/elementary/elm_panel.c:84 +#: src/lib/elementary/elm_panel.c:85 msgid "state: closed" msgstr "状态:已关闭" -#: src/lib/elementary/elm_panel.c:124 +#: src/lib/elementary/elm_panel.c:127 msgid "A panel is open" msgstr "" -#: src/lib/elementary/elm_panel.c:126 +#: src/lib/elementary/elm_panel.c:129 msgid "Double tap to close panel menu" msgstr "" -#: src/lib/elementary/elm_panel.c:178 +#: src/lib/elementary/elm_panel.c:181 msgid "panel button" msgstr "面板按钮" -#: src/lib/elementary/efl_ui_progressbar.c:393 +#: src/lib/elementary/efl_ui_progressbar.c:397 msgid "progressbar" msgstr "进度条" -#: src/lib/elementary/efl_ui_radio.c:224 +#: src/lib/elementary/efl_ui_radio.c:231 msgid "Radio" msgstr "无线电" #: src/lib/elementary/elm_segment_control.c:532 -#: src/lib/elementary/elm_toolbar.c:2278 +#: src/lib/elementary/elm_toolbar.c:2283 msgid "State: Selected" msgstr "状态:已选择" @@ -535,51 +535,51 @@ msgstr "状态:已选择" msgid "Segment Control Item" msgstr "" -#: src/lib/elementary/efl_ui_slider.c:1193 +#: src/lib/elementary/efl_ui_slider.c:681 msgid "slider" msgstr "滑块" -#: src/lib/elementary/elm_spinner.c:1061 +#: src/lib/elementary/elm_spinner.c:1071 msgid "incremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1067 +#: src/lib/elementary/elm_spinner.c:1077 msgid "decremented" msgstr "" -#: src/lib/elementary/elm_spinner.c:1100 src/lib/elementary/elm_spinner.c:1167 +#: src/lib/elementary/elm_spinner.c:1110 src/lib/elementary/elm_spinner.c:1177 msgid "spinner" msgstr "" -#: src/lib/elementary/elm_spinner.c:1109 src/lib/elementary/elm_spinner.c:1150 +#: src/lib/elementary/elm_spinner.c:1119 src/lib/elementary/elm_spinner.c:1160 msgid "spinner increment button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1112 src/lib/elementary/elm_spinner.c:1159 +#: src/lib/elementary/elm_spinner.c:1122 src/lib/elementary/elm_spinner.c:1169 msgid "spinner decrement button" msgstr "" -#: src/lib/elementary/elm_spinner.c:1114 +#: src/lib/elementary/elm_spinner.c:1124 msgid "spinner text" msgstr "" -#: src/lib/elementary/elm_toolbar.c:1733 src/lib/elementary/elm_toolbar.c:2335 +#: src/lib/elementary/elm_toolbar.c:1738 src/lib/elementary/elm_toolbar.c:2342 msgid "Selected" msgstr "已选择" -#: src/lib/elementary/elm_toolbar.c:2274 +#: src/lib/elementary/elm_toolbar.c:2279 msgid "Separator" msgstr "分隔符" -#: src/lib/elementary/elm_toolbar.c:2280 +#: src/lib/elementary/elm_toolbar.c:2285 msgid "Has menu" msgstr "有菜单" -#: src/lib/elementary/elm_toolbar.c:2330 +#: src/lib/elementary/elm_toolbar.c:2337 msgid "Unselected" msgstr "未选择" -#: src/lib/elementary/elm_toolbar.c:2347 +#: src/lib/elementary/elm_toolbar.c:2354 msgid "Toolbar Item" msgstr "工具栏项目" diff --git a/src/Makefile.am b/src/Makefile.am index b87c91c561..a988467d84 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,6 +6,9 @@ BUILT_SOURCES = EOLIAN_FLAGS = -I$(srcdir) EOLIAN_GEN_FLAGS = -S +LOG_COMPILER = dbus-run-session +AM_LOG_FLAGS = -- + DIST_SUBDIRS = SUBDIRS = @@ -129,11 +132,8 @@ examples/ethumb_client \ examples/eina_cxx \ examples/eolian_cxx \ examples/efl_mono \ -examples/elementary - -if HAVE_ELUA -EXAMPLES_SUBDIRS += examples/elua -endif +examples/elementary \ +examples/elua if ALWAYS_BUILD_EXAMPLES SUBDIRS += . $(EXAMPLES_SUBDIRS) @@ -165,6 +165,7 @@ dist-hook: @mkdir -p $(distdir)/tests/efreet/data $(distdir)/tests/edje/data @mkdir -p $(distdir)/tests/emotion/data $(distdir)/tests/evas/meshes/md2 @mkdir -p $(distdir)/tests/evas/meshes/obj $(distdir)/tests/efreet/data/sub + @mkdir -p $(distdir)/tests/efl_mono @mkdir -p $(distdir)/scripts/eina $(distdir)/scripts/elua/modules @mkdir -p $(distdir)/scripts/elua/core $(distdir)/scripts/elua/apps/docgen @mkdir -p $(distdir)/lib/evas/common/evas_op_add $(distdir)/lib/evas/common/evas_op_copy @@ -173,12 +174,17 @@ dist-hook: @mkdir -p $(distdir)/static_libs/http-parser/contrib $(distdir)/bindings/luajit/eina @mkdir -p $(distdir)/wayland_protocol $(distdir)/lib/efl_wl/ @mkdir -p $(distdir)/modules/evas/engines/software_generic/filters/blur + @mkdir -p $(distdir)/bindings/mono/ecore_evas_mono + @mkdir -p $(distdir)/bindings/mono/efl_mono + @mkdir -p $(distdir)/bindings/mono/eina_mono + @mkdir -p $(distdir)/bindings/mono/eldbus_mono + @mkdir -p $(distdir)/bindings/mono/eo_mono for F in $(EXTRA_DIST2); do cp -f $(srcdir)/$$F $(distdir)/$$F; done clean-local: find . -type f -name '*.gcno' -delete find . -type f -name '*.gcda' -delete - find . -type f -name check-results.xml -delete + find . -type f -name check-results*.xml -delete rm -f $(GENERATED_JS_BINDINGS) rm -f $(GENERATED_LUA_BINDINGS) rm -f $(BUILT_SOURCES) diff --git a/src/Makefile_Cxx.am b/src/Makefile_Cxx.am index 8f929d2f8e..b13880c674 100644 --- a/src/Makefile_Cxx.am +++ b/src/Makefile_Cxx.am @@ -16,14 +16,14 @@ bindings/cxx/eo_cxx/Eo.hh \ bindings/cxx/eo_cxx/eo_init.hh \ bindings/cxx/eo_cxx/eo_ops.hh \ bindings/cxx/eo_cxx/eo_wref.hh \ -bindings/cxx/eo_cxx/eo_future.hh \ -bindings/cxx/eo_cxx/eo_promise.hh \ -bindings/cxx/eo_cxx/eo_promise_meta.hh \ bindings/cxx/eo_cxx/eo_private.hh \ bindings/cxx/eo_cxx/efl_object_impl.hh installed_eflcxxmainheadersdir = $(includedir)/efl-cxx-@VMAJ@/ -dist_installed_eflcxxmainheaders_DATA = lib/efl/Efl.hh lib/efl/cxx/efl_part_impl.hh +dist_installed_eflcxxmainheaders_DATA = lib/efl/Efl.hh + +installed_eflcxxextraheadersdir = $(includedir)/efl-cxx-@VMAJ@/cxx +dist_installed_eflcxxextraheaders_DATA = lib/efl/cxx/efl_part_impl.hh installed_elementarycxxmainheadersdir = $(includedir)/elementary-cxx-@VMAJ@/ dist_installed_elementarycxxmainheaders_DATA = lib/elementary/Elementary.hh @@ -244,8 +244,7 @@ tests_eina_cxx_eina_cxx_suite_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_IN tests_eo_cxx_eo_cxx_suite_SOURCES = \ tests/eo_cxx/eo_cxx_suite.cc \ -tests/eo_cxx/eo_cxx_suite.h \ -tests/eo_cxx/eo_cxx_test_promise.cc +tests/eo_cxx/eo_cxx_suite.h tests_eo_cxx_eo_cxx_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DTESTS_WD=\"`pwd`\" \ diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index b9553079fc..a33c8f8d9b 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -8,12 +8,20 @@ ecore_eolian_files_legacy = \ lib/ecore/efl_loop_timer.eo ecore_eolian_files_public = \ + lib/ecore/efl_app.eo \ lib/ecore/efl_loop.eo \ lib/ecore/efl_loop_consumer.eo \ lib/ecore/efl_loop_fd.eo \ lib/ecore/efl_loop_handler.eo \ lib/ecore/efl_loop_message.eo \ lib/ecore/efl_loop_message_handler.eo \ + lib/ecore/efl_loop_message_future.eo \ + lib/ecore/efl_loop_message_future_handler.eo \ + lib/ecore/efl_exe.eo \ + lib/ecore/efl_thread.eo \ + lib/ecore/efl_threadio.eo \ + lib/ecore/efl_appthread.eo \ + lib/ecore/efl_task.eo \ lib/ecore/efl_io_closer_fd.eo \ lib/ecore/efl_io_positioner_fd.eo \ lib/ecore/efl_io_reader_fd.eo \ @@ -33,14 +41,7 @@ ecore_eolian_files_public = \ lib/ecore/efl_interpolator_divisor.eo \ lib/ecore/efl_interpolator_bounce.eo \ lib/ecore/efl_interpolator_spring.eo \ - lib/ecore/efl_interpolator_cubic_bezier.eo - - -ecore_eolian_files = \ - $(ecore_eolian_files_public) \ - lib/ecore/efl_loop_message_future_handler.eo \ - lib/ecore/efl_loop_message_future.eo \ - lib/ecore/efl_promise.eo \ + lib/ecore/efl_interpolator_cubic_bezier.eo \ lib/ecore/efl_model_item.eo \ lib/ecore/efl_model_container.eo \ lib/ecore/efl_model_container_item.eo \ @@ -48,7 +49,11 @@ ecore_eolian_files = \ lib/ecore/efl_model_composite_boolean_children.eo \ lib/ecore/efl_model_composite_selection.eo \ lib/ecore/efl_model_composite_selection_children.eo \ - $(ecore_eolian_files_legacy) + lib/ecore/efl_model_composite.eo + +ecore_eolian_files = \ + $(ecore_eolian_files_legacy) \ + $(ecore_eolian_files_public) ecore_eolian_c = $(ecore_eolian_files:%.eo=%.eo.c) ecore_eolian_h = $(ecore_eolian_files:%.eo=%.eo.h) \ @@ -59,9 +64,9 @@ BUILT_SOURCES += \ $(ecore_eolian_h) ecoreeolianfilesdir = $(datadir)/eolian/include/ecore-@VMAJ@ -ecoreeolianfiles_DATA = $(ecore_eolian_files) +ecoreeolianfiles_DATA = $(ecore_eolian_files_public) lib/ecore/efl_loop_timer.eo -EXTRA_DIST2 += ${ecoreeolianfiles_DATA} +EXTRA_DIST2 += $(ecore_eolian_files) lib_LTLIBRARIES += lib/ecore/libecore.la @@ -93,6 +98,7 @@ lib/ecore/ecore_job.c \ lib/ecore/ecore_main.c \ lib/ecore/ecore_event_message.c \ lib/ecore/ecore_event_message_handler.c \ +lib/ecore/efl_app.c \ lib/ecore/efl_loop.c \ lib/ecore/efl_loop_consumer.c \ lib/ecore/efl_loop_fd.c \ @@ -112,11 +118,11 @@ lib/ecore/efl_io_stderr.c \ lib/ecore/efl_io_file.c \ lib/ecore/efl_io_copier.c \ lib/ecore/efl_io_buffered_stream.c \ -lib/ecore/efl_promise.c \ lib/ecore/efl_model_item.c \ lib/ecore/efl_model_container.c \ lib/ecore/efl_model_container_item.c \ lib/ecore/efl_model_container_private.h \ +lib/ecore/efl_model_composite.c \ lib/ecore/efl_model_composite_boolean.c \ lib/ecore/efl_model_composite_selection.c \ lib/ecore/efl_model_accessor_view.c \ @@ -130,6 +136,11 @@ lib/ecore/efl_interpolator_divisor.c \ lib/ecore/efl_interpolator_bounce.c \ lib/ecore/efl_interpolator_spring.c \ lib/ecore/efl_interpolator_cubic_bezier.c \ +lib/ecore/efl_task.c \ +lib/ecore/efl_exe.c \ +lib/ecore/efl_thread.c \ +lib/ecore/efl_threadio.c \ +lib/ecore/efl_appthread.c \ lib/ecore/ecore_main_timechanges.c \ lib/ecore/ecore_pipe.c \ lib/ecore/ecore_poller.c \ @@ -141,7 +152,9 @@ lib/ecore/ecore_exe.c \ lib/ecore/ecore_exe_private.h \ lib/ecore/ecore_private.h \ lib/ecore/ecore_internal.h \ -lib/ecore/ecore_main_common.h +lib/ecore/ecore_main_common.h \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c if HAVE_WIN32 @@ -164,6 +177,7 @@ lib_ecore_libecore_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/ecore\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @ECORE_CFLAGS@ lib_ecore_libecore_la_LIBADD = @ECORE_LIBS@ @EVIL_LIBS@ lib_ecore_libecore_la_DEPENDENCIES = @ECORE_INTERNAL_LIBS@ @@ -255,21 +269,21 @@ endif if EFL_ENABLE_TESTS -check_PROGRAMS += tests/ecore/ecore_suite -TESTS += tests/ecore/ecore_suite +check_PROGRAMS += tests/ecore/ecore_suite tests/ecore/efl_app_suite +TESTS += tests/ecore/ecore_suite tests/ecore/efl_app_suite tests_ecore_ecore_suite_SOURCES = \ tests/ecore/ecore_suite.c \ tests/ecore/ecore_test_ecore.c \ tests/ecore/ecore_test_ecore_imf.c \ +tests/ecore/ecore_test_idle.c \ +tests/ecore/ecore_test_poller.c \ tests/ecore/ecore_test_timer.c \ tests/ecore/ecore_test_ecore_evas.c \ tests/ecore/ecore_test_animator.c \ tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c \ tests/ecore/ecore_test_ecore_input.c \ tests/ecore/ecore_test_ecore_file.c \ -tests/ecore/ecore_test_promise.c \ -tests/ecore/ecore_test_promise2.c \ tests/ecore/ecore_test_job.c \ tests/ecore/ecore_test_args.c \ tests/ecore/ecore_suite.h @@ -286,7 +300,6 @@ tests_ecore_ecore_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ @ECORE_EVAS_CFLAGS@ \ @ECORE_WAYLAND_CFLAGS@ \ @ECORE_WAYLAND_SRV_CFLAGS@ \ -@ECORE_DRM_CFLAGS@ \ @ECORE_FB_CFLAGS@ \ @ECORE_INPUT_CFLAGS@ @@ -301,7 +314,6 @@ tests_ecore_ecore_suite_LDADD = \ @USE_ECORE_WAYLAND_LIBS@ \ @USE_ECORE_FB_LIBS@ \ @ECORE_WAYLAND_SRV_LIBS@ \ -@ECORE_DRM_LIBS@ \ @USE_ECORE_INPUT_LIBS@ tests_ecore_ecore_suite_DEPENDENCIES = \ @USE_ECORE_INTERNAL_LIBS@ \ @@ -311,7 +323,52 @@ tests_ecore_ecore_suite_DEPENDENCIES = \ @USE_ECORE_IMF_INTERNAL_LIBS@ \ @USE_ECORE_EVAS_INTERNAL_LIBS@ \ @USE_ECORE_WAYLAND_INTERNAL_LIBS@ \ -@USE_ECORE_DRM_INTERNAL_LIBS@ \ +@USE_ECORE_FB_INTERNAL_LIBS@ \ +@USE_ECORE_INPUT_INTERNAL_LIBS@ + +tests_ecore_efl_app_suite_SOURCES = \ +tests/ecore/efl_app_test_loop.c \ +tests/ecore/efl_app_test_loop_fd.c \ +tests/ecore/efl_app_test_loop_timer.c \ +tests/ecore/efl_app_test_promise.c \ +tests/ecore/efl_app_suite.c \ +tests/ecore/efl_app_suite.h + +tests_ecore_efl_app_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ +-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/ecore\" \ +-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/ecore\" \ +@CHECK_CFLAGS@ \ +@ECORE_CFLAGS@ \ +@ECORE_AUDIO_CFLAGS@ \ +@ECORE_FILE_CFLAGS@ \ +@ECORE_X_CFLAGS@ \ +@ECORE_IMF_CFLAGS@ \ +@ECORE_EVAS_CFLAGS@ \ +@ECORE_WAYLAND_CFLAGS@ \ +@ECORE_WAYLAND_SRV_CFLAGS@ \ +@ECORE_FB_CFLAGS@ \ +@ECORE_INPUT_CFLAGS@ + +tests_ecore_efl_app_suite_LDADD = \ +@CHECK_LIBS@ \ +@USE_ECORE_LIBS@ \ +@USE_ECORE_AUDIO_LIBS@ \ +@USE_ECORE_FILE_LIBS@ \ +@USE_ECORE_X_LIBS@ \ +@USE_ECORE_IMF_LIBS@ \ +@USE_ECORE_EVAS_LIBS@ \ +@USE_ECORE_WAYLAND_LIBS@ \ +@USE_ECORE_FB_LIBS@ \ +@ECORE_WAYLAND_SRV_LIBS@ \ +@USE_ECORE_INPUT_LIBS@ +tests_ecore_efl_app_suite_DEPENDENCIES = \ +@USE_ECORE_INTERNAL_LIBS@ \ +@USE_ECORE_AUDIO_INTERNAL_LIBS@ \ +@USE_ECORE_FILE_INTERNAL_LIBS@ \ +@USE_ECORE_X_INTERNAL_LIBS@ \ +@USE_ECORE_IMF_INTERNAL_LIBS@ \ +@USE_ECORE_EVAS_INTERNAL_LIBS@ \ +@USE_ECORE_WAYLAND_INTERNAL_LIBS@ \ @USE_ECORE_FB_INTERNAL_LIBS@ \ @USE_ECORE_INPUT_INTERNAL_LIBS@ @@ -323,10 +380,6 @@ if HAVE_ECORE_AUDIO tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_audio.c endif -if HAVE_ECORE_DRM -tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_drm.c -endif - if HAVE_ECORE_FB tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_fb.c endif diff --git a/src/Makefile_Ecore_Con.am b/src/Makefile_Ecore_Con.am index f8d35d2636..2568922992 100644 --- a/src/Makefile_Ecore_Con.am +++ b/src/Makefile_Ecore_Con.am @@ -26,7 +26,7 @@ ecore_con_eolian_files = \ lib/ecore_con/efl_net_server_ssl.eo \ lib/ecore_con/efl_net_control_access_point.eo \ lib/ecore_con/efl_net_control_technology.eo \ - lib/ecore_con/efl_net_control.eo \ + lib/ecore_con/efl_net_control_manager.eo \ lib/ecore_con/efl_net_session.eo \ lib/ecore_con/efl_net_ip_address.eo \ lib/ecore_con/ecore_con_eet_base.eo \ @@ -118,7 +118,9 @@ lib/ecore_con/efl_net_ssl_context.c \ lib/ecore_con/efl_net_dialer_ssl.c \ lib/ecore_con/efl_net_server_ssl.c \ lib/ecore_con/ecore_con_local.c \ -lib/ecore_con/efl_net_ip_address.c +lib/ecore_con/efl_net_ip_address.c \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c if EFL_NET_CONTROL_BACKEND_CONNMAN lib_ecore_con_libecore_con_la_SOURCES += \ @@ -167,6 +169,7 @@ lib_ecore_con_libecore_con_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/ecore\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @ECORE_CON_CFLAGS@ lib_ecore_con_libecore_con_la_LIBADD = @ECORE_CON_LIBS@ @EVIL_LIBS@ lib_ecore_con_libecore_con_la_DEPENDENCIES = @ECORE_CON_INTERNAL_LIBS@ diff --git a/src/Makefile_Ecore_Evas.am b/src/Makefile_Ecore_Evas.am index debc9963fc..29bcea3f06 100644 --- a/src/Makefile_Ecore_Evas.am +++ b/src/Makefile_Ecore_Evas.am @@ -23,7 +23,9 @@ lib/ecore_evas/ecore_evas_wayland.h \ lib/ecore_evas/ecore_evas_cocoa.h \ lib/ecore_evas/ecore_evas_win32.h \ lib/ecore_evas/ecore_evas_x11.h \ -lib/ecore_evas/ecore_evas_util.c +lib/ecore_evas/ecore_evas_util.c \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c lib_ecore_evas_libecore_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -I$(top_srcdir)/src/modules/evas/engines/buffer \ @@ -31,6 +33,7 @@ lib_ecore_evas_libecore_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/ecore_evas\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @ECORE_EVAS_CFLAGS@ lib_ecore_evas_libecore_evas_la_LIBADD = @ECORE_EVAS_LIBS@ lib_ecore_evas_libecore_evas_la_DEPENDENCIES = @ECORE_EVAS_INTERNAL_LIBS@ @@ -268,7 +271,8 @@ endif if BUILD_ECORE_EVAS_VNC_SERVER VNCSERVERSOURCES = \ -modules/ecore_evas/vnc_server/ecore_evas_vnc_server.c +modules/ecore_evas/vnc_server/ecore_evas_vnc_server.c \ +modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.c ecoreevasenginevncserverpkgdir = $(libdir)/ecore_evas/vnc_server/$(MODULE_ARCH) ecoreevasenginevncserverpkg_LTLIBRARIES = modules/ecore_evas/vnc_server/module.la @@ -279,26 +283,16 @@ $(install_ecoreevasenginevncserverpkgLTLIBRARIES): install-libLTLIBRARIES modules_ecore_evas_vnc_server_module_la_SOURCES = $(VNCSERVERSOURCES) modules_ecore_evas_vnc_server_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -@ECORE_EVAS_CFLAGS@ \ -@LIBVNCSERVER_CFLAGS@ +-I$(top_builddir)/src/lib/ecore_fb \ +@LIBVNCSERVER_CFLAGS@ \ +@ECORE_EVAS_CFLAGS@ modules_ecore_evas_vnc_server_module_la_LIBADD = \ -@USE_ECORE_EVAS_LIBS@ \ -@LIBVNCSERVER_LIBS@ +@LIBVNCSERVER_LIBS@ \ +@USE_ECORE_EVAS_LIBS@ modules_ecore_evas_vnc_server_module_la_DEPENDENCIES = \ @USE_ECORE_EVAS_INTERNAL_LIBS@ modules_ecore_evas_vnc_server_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ modules_ecore_evas_vnc_server_module_la_LIBTOOLFLAGS = --tag=disable-static -if BUILD_ECORE_EVAS_FB -modules_ecore_evas_vnc_server_module_la_CPPFLAGS += @ECORE_FB_CFLAGS@ -I$(top_srcdir)/src/modules/evas/engines/fb -modules_ecore_evas_vnc_server_module_la_LIBADD += @USE_ECORE_FB_LIBS@ -VNCSERVERSOURCES += \ -modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.c \ -modules/ecore_evas/vnc_server/ecore_evas_vnc_server_fb_keymap.h -endif -if BUILD_ECORE_EVAS_X11 -modules_ecore_evas_vnc_server_module_la_LIBADD += @USE_ECORE_X_LIBS@ -modules_ecore_evas_vnc_server_module_la_CPPFLAGS += @ECORE_X_CFLAGS@ -I$(top_srcdir)/src/modules/evas/engines/software_x11 -endif endif ### Binary diff --git a/src/Makefile_Ecore_IMF.am b/src/Makefile_Ecore_IMF.am index 001927fe62..c43f2a82c1 100644 --- a/src/Makefile_Ecore_IMF.am +++ b/src/Makefile_Ecore_IMF.am @@ -12,13 +12,16 @@ lib_ecore_imf_libecore_imf_la_SOURCES = \ lib/ecore_imf/ecore_imf.c \ lib/ecore_imf/ecore_imf_context.c \ lib/ecore_imf/ecore_imf_module.c \ -lib/ecore_imf/ecore_imf_private.h +lib/ecore_imf/ecore_imf_private.h \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c lib_ecore_imf_libecore_imf_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/ecore_imf\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @ECORE_IMF_CFLAGS@ lib_ecore_imf_libecore_imf_la_LIBADD = @ECORE_IMF_LIBS@ lib_ecore_imf_libecore_imf_la_DEPENDENCIES = @ECORE_IMF_INTERNAL_LIBS@ @@ -135,6 +138,14 @@ modules/ecore_imf/wayland/wayland_module.c \ modules/ecore_imf/wayland/wayland_imcontext.c \ modules/ecore_imf/wayland/wayland_imcontext.h +nodist_modules_ecore_imf_wayland_module_la_SOURCES = \ +modules/ecore_imf/wayland/text-input-unstable-v1-client-protocol.h \ +modules/ecore_imf/wayland/text-input-unstable-v1-protocol.c + +BUILT_SOURCES += \ +modules/ecore_imf/wayland/text-input-unstable-v1-client-protocol.h \ +modules/ecore_imf/wayland/text-input-unstable-v1-protocol.c + modules_ecore_imf_wayland_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -I$(top_builddir)/src/modules/ecore_imf/wayland \ @ECORE_IMF_CFLAGS@ \ diff --git a/src/Makefile_Ecore_Wl2.am b/src/Makefile_Ecore_Wl2.am index a794d0b3ba..3415d0762e 100644 --- a/src/Makefile_Ecore_Wl2.am +++ b/src/Makefile_Ecore_Wl2.am @@ -40,14 +40,18 @@ lib/ecore_wl2/www-client-protocol.h \ lib/ecore_wl2/www-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \ +lib/ecore_wl2/xdg-shell-client-protocol.h \ +lib/ecore_wl2/xdg-shell-protocol.c \ lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \ lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c \ -lib/ecore_wl2/text-input-unstable-v1-client-protocol.h \ -lib/ecore_wl2/text-input-unstable-v1-protocol.c \ lib/ecore_wl2/efl-hints-client-protocol.h \ lib/ecore_wl2/efl-hints-protocol.c -lib_ecore_wl2_libecore_wl2_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_WL2_CFLAGS@ -I$(top_srcdir)/src/static_libs/libdrm +lib_ecore_wl2_libecore_wl2_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ +@ECORE_WL2_CFLAGS@ \ +-I$(top_srcdir)/src/static_libs/libdrm \ +-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DMODULE_ARCH=\"$(MODULE_ARCH)\" lib_ecore_wl2_libecore_wl2_la_LIBADD = @ECORE_WL2_LIBS@ lib_ecore_wl2_libecore_wl2_la_DEPENDENCIES = @ECORE_WL2_INTERNAL_LIBS@ lib_ecore_wl2_libecore_wl2_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@ @@ -59,15 +63,33 @@ lib/ecore_wl2/efl-aux-hints-client-protocol.h \ lib/ecore_wl2/www-protocol.c \ lib/ecore_wl2/teamwork-protocol.c \ lib/ecore_wl2/teamwork-client-protocol.h \ + lib/ecore_wl2/xdg-shell-client-protocol.h \ + lib/ecore_wl2/xdg-shell-protocol.c \ lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \ lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \ lib/ecore_wl2/session-recovery-protocol.c \ lib/ecore_wl2/session-recovery-client-protocol.h \ - lib/ecore_wl2/text-input-unstable-v1-client-protocol.h \ - lib/ecore_wl2/text-input-unstable-v1-protocol.c \ lib/ecore_wl2/efl-hints-client-protocol.h \ lib/ecore_wl2/efl-hints-protocol.c +DMABUFSOURCES = lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c +ecorewl2enginedmabufpkgdir = $(libdir)/ecore_wl2/engines/dmabuf/$(MODULE_ARCH) +ecorewl2enginedmabufpkg_LTLIBRARIES = modules/ecore_wl2/engines/dmabuf/module.la + +# Workaround for broken parallel install support in automake (relink issue) +# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 +install_ecorewl2enginedmabufpkgLTLIBRARIES = install-ecorewl2enginedmabufpkgLTLIBRARIES +$(install_ecorewl2enginedmabufpkgLTLIBRARIES): install-libLTLIBRARIES + +modules_ecore_wl2_engines_dmabuf_module_la_SOURCES = $(DMABUFSOURCES) +modules_ecore_wl2_engines_dmabuf_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_WL2_CFLAGS@ +modules_ecore_wl2_engines_dmabuf_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@ +modules_ecore_wl2_engines_dmabuf_module_la_LIBTOOLFLAGS = --tag=disable-static + endif + +#We want this in the release tarball even if the builder isn't compiling +#wayland support. +EXTRA_DIST2 += lib/ecore_wl2/window_v6.x diff --git a/src/Makefile_Ector.am b/src/Makefile_Ector.am index 7baa0767d1..fae39311f4 100644 --- a/src/Makefile_Ector.am +++ b/src/Makefile_Ector.am @@ -190,8 +190,8 @@ tests_ector_suite_ector_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -I$(top_srcdir)/src/tests/ector \ -DTESTS_WD=\"`pwd`\" \ -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/ector/suite\" \ --DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/ector/suite\" \ --DTESTS_BUILD_DIR=PACKAGE_BUILD_DIR \ +-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/\" \ +-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/ector\" \ @CHECK_CFLAGS@ \ @ECTOR_CFLAGS@ tests_ector_suite_ector_suite_LDADD = @CHECK_LIBS@ @USE_ECTOR_LIBS@ diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am index c57f11130e..fc83eaadc6 100644 --- a/src/Makefile_Edje.am +++ b/src/Makefile_Edje.am @@ -19,6 +19,7 @@ edje_eolian_type_files = \ edje_eolian_priv_files = \ lib/edje/edje_global.eo \ + lib/edje/efl_canvas_layout_part_invalid.eo \ $(NULL) edje_eolian_c = $(edje_eolian_files:%.eo=%.eo.c) @@ -108,7 +109,11 @@ lib/edje/edje_part_external.c \ lib/edje/edje_part_swallow.c \ lib/edje/edje_part_table.c \ lib/edje/edje_part_box.c \ -lib/edje/edje_part_text.c +lib/edje/edje_part_text.c \ +lib/edje/edje_part_invalid.c \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c + lib_edje_libedje_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) lib_edje_libedje_la_LIBADD = @EDJE_LIBS@ @EDJE_LUA_LIBS@ @@ -278,7 +283,6 @@ bin/edje/edje_convert.c \ bin/edje/edje_data_convert.c \ bin/edje/edje_convert_main.c \ lib/edje/edje_convert.c \ -tests/edje/edje_tests_helpers.h \ tests/edje/data/complex_layout.edc \ tests/edje/data/test_layout.edc \ tests/edje/data/test_parens.edc \ @@ -294,6 +298,8 @@ tests/edje/data/test_combine_keywords.edc \ tests/edje/data/test_messages.edc \ tests/edje/data/test_signals.edc \ tests/edje/data/test_signal_callback_del_full.edc \ +tests/edje/data/test_text_cursor.edc \ +tests/edje/data/test_textblock.edc \ tests/edje/data/filter.lua @@ -311,7 +317,12 @@ TESTS += tests/edje/edje_suite tests_edje_edje_suite_SOURCES = \ tests/edje/edje_suite.c \ +tests/edje/edje_test_container.c \ tests/edje/edje_test_edje.c \ +tests/edje/edje_test_features.c \ +tests/edje/edje_test_signal.c \ +tests/edje/edje_test_swallow.c \ +tests/edje/edje_test_text.c \ tests/edje/edje_suite.h tests/edje/data/%.edj: tests/edje/data/%.edc bin/edje/edje_cc${EXEEXT} @@ -337,6 +348,8 @@ EDJE_TEST_FILES = tests/edje/data/test_layout.edj \ tests/edje/data/test_messages.edj \ tests/edje/data/test_signals.edj \ tests/edje/data/test_signal_callback_del_full.edj \ + tests/edje/data/test_text_cursor.edj \ + tests/edje/data/test_textblock.edj \ $(NULL) CLEANFILES += $(EDJE_TEST_FILES) diff --git a/src/Makefile_Eeze.am b/src/Makefile_Eeze.am index 9f86fa1631..82b96a1470 100644 --- a/src/Makefile_Eeze.am +++ b/src/Makefile_Eeze.am @@ -29,7 +29,9 @@ lib/eeze/eeze_udev_watch.c \ lib/eeze/eeze_disk.c \ lib/eeze/eeze_disk_udev.c \ lib/eeze/eeze_disk_mount.c \ -lib/eeze/eeze_disk_private.h +lib/eeze/eeze_disk_private.h \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c if HAVE_EEZE_MOUNT if EEZE_LIBMOUNT_BEFORE_219 @@ -50,6 +52,7 @@ lib_eeze_libeeze_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/eeze\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @EEZE_CFLAGS@ lib_eeze_libeeze_la_LIBADD = @EEZE_LIBS@ lib_eeze_libeeze_la_DEPENDENCIES = @EEZE_INTERNAL_LIBS@ diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index 30b6cdb040..972eda7e04 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -1,10 +1,10 @@ # Even though libefl is new, it contains definitions used by legacy APIs efl_eolian_legacy_files = \ lib/efl/interfaces/efl_gfx_fill.eo \ - lib/efl/interfaces/efl_gfx.eo \ + lib/efl/interfaces/efl_gfx_entity.eo \ lib/efl/interfaces/efl_gfx_color.eo \ - lib/efl/interfaces/efl_image.eo \ - lib/efl/interfaces/efl_image_animated.eo \ + lib/efl/interfaces/efl_gfx_image.eo \ + lib/efl/interfaces/efl_gfx_image_animation_controller.eo \ lib/efl/interfaces/efl_input_device.eo \ lib/efl/interfaces/efl_ui_draggable.eo \ lib/efl/interfaces/efl_ui_clickable.eo \ @@ -12,18 +12,20 @@ efl_eolian_legacy_files = \ lib/efl/interfaces/efl_ui_scrollable_interactive.eo \ lib/efl/interfaces/efl_ui_scrollbar.eo \ lib/efl/interfaces/efl_ui_selectable.eo \ + lib/efl/interfaces/efl_ui_multi_selectable.eo \ lib/efl/interfaces/efl_ui_zoom.eo \ $(NULL) efl_eolian_files = \ - lib/efl/interfaces/efl_canvas.eo \ + lib/efl/interfaces/efl_canvas_scene.eo \ lib/efl/interfaces/efl_canvas_pointer.eo \ lib/efl/interfaces/efl_config.eo \ lib/efl/interfaces/efl_control.eo \ lib/efl/interfaces/efl_duplicate.eo \ lib/efl/interfaces/efl_file.eo \ - lib/efl/interfaces/efl_image_load.eo \ + lib/efl/interfaces/efl_gfx_image_load_controller.eo \ lib/efl/interfaces/efl_part.eo \ + lib/efl/interfaces/efl_playable.eo \ lib/efl/interfaces/efl_player.eo \ lib/efl/interfaces/efl_text.eo \ lib/efl/interfaces/efl_text_font.eo \ @@ -33,7 +35,6 @@ efl_eolian_files = \ lib/efl/interfaces/efl_text_annotate.eo \ lib/efl/interfaces/efl_text_markup.eo \ lib/efl/interfaces/efl_text_markup_util.eo \ - lib/efl/interfaces/efl_text_properties.eo \ lib/efl/interfaces/efl_gfx_stack.eo \ lib/efl/interfaces/efl_gfx_view.eo \ lib/efl/interfaces/efl_gfx_buffer.eo \ @@ -48,18 +49,12 @@ efl_eolian_files = \ lib/efl/interfaces/efl_model.eo \ lib/efl/interfaces/efl_animator.eo \ lib/efl/interfaces/efl_orientation.eo \ - lib/efl/interfaces/efl_flipable.eo \ lib/efl/interfaces/efl_container.eo \ lib/efl/interfaces/efl_content.eo \ lib/efl/interfaces/efl_pack.eo \ lib/efl/interfaces/efl_pack_layout.eo \ lib/efl/interfaces/efl_pack_linear.eo \ lib/efl/interfaces/efl_pack_table.eo \ - lib/efl/interfaces/efl_vpath.eo \ - lib/efl/interfaces/efl_vpath_manager.eo \ - lib/efl/interfaces/efl_vpath_file.eo \ - lib/efl/interfaces/efl_vpath_core.eo \ - lib/efl/interfaces/efl_vpath_file_core.eo \ lib/efl/interfaces/efl_ui_base.eo \ lib/efl/interfaces/efl_ui_direction.eo \ lib/efl/interfaces/efl_ui_drag.eo \ @@ -67,7 +62,6 @@ efl_eolian_files = \ lib/efl/interfaces/efl_ui_view.eo \ lib/efl/interfaces/efl_ui_model_connect.eo \ lib/efl/interfaces/efl_ui_factory.eo \ - lib/efl/interfaces/efl_ui_model_factory_connect.eo \ lib/efl/interfaces/efl_screen.eo \ lib/efl/interfaces/efl_io_closer.eo \ lib/efl/interfaces/efl_io_positioner.eo \ @@ -78,8 +72,6 @@ efl_eolian_files = \ lib/efl/interfaces/efl_io_queue.eo \ lib/efl/interfaces/efl_observer.eo \ lib/efl/interfaces/efl_observable.eo \ - lib/efl/interfaces/efl_ui_item.eo \ - lib/efl/interfaces/efl_ui_menu.eo \ lib/efl/interfaces/efl_ui_autorepeat.eo \ lib/efl/interfaces/efl_ui_format.eo \ lib/efl/interfaces/efl_gfx_color_class.eo \ @@ -124,10 +116,6 @@ lib/efl/interfaces/efl_interfaces_main.c \ lib/efl/interfaces/efl_model_common.c \ lib/efl/interfaces/efl_gfx_path.c \ lib/efl/interfaces/efl_gfx_shape.c \ -lib/efl/interfaces/efl_vpath_file.c \ -lib/efl/interfaces/efl_vpath_manager.c \ -lib/efl/interfaces/efl_vpath_core.c \ -lib/efl/interfaces/efl_vpath_file_core.c \ lib/efl/interfaces/efl_input_device.c \ lib/efl/interfaces/efl_io_closer.c \ lib/efl/interfaces/efl_io_positioner.c \ diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am index 7cfa20d4da..78ebc073ec 100644 --- a/src/Makefile_Efl_Mono.am +++ b/src/Makefile_Efl_Mono.am @@ -3,7 +3,6 @@ efl_custom_exports_mono_files = \ lib/efl_mono/efl_custom_exports_mono.c efl_eo_mono_files = \ - bindings/mono/eo_mono/object.cs \ bindings/mono/eo_mono/iwrapper.cs \ bindings/mono/eo_mono/workaround.cs @@ -22,7 +21,10 @@ efl_eina_mono_files = \ bindings/mono/eina_mono/eina_slice.cs \ bindings/mono/eina_mono/eina_stringshare.cs \ bindings/mono/eina_mono/eina_error.cs \ - bindings/mono/eina_mono/eina_value.cs + bindings/mono/eina_mono/eina_value.cs \ + bindings/mono/eina_mono/eina_promises.cs \ + bindings/mono/eina_mono/eina_accessor.cs \ + bindings/mono/eina_mono/eina_strbuf.cs efl_eldbus_mono_files = \ bindings/mono/eldbus_mono/eldbus_common.cs \ @@ -37,6 +39,8 @@ efl_eldbus_mono_files = \ efl_ecore_evas_mono_files = \ bindings/mono/ecore_evas_mono/ecore_evas.cs +# Static C# source files don't go into a _SOURCES var as the dll target +# is custom built instead of through _LTLIBRARIES/_LIBRARIES lib_efl_mono_libefl_mono_dll_sources = \ bindings/mono/efl_mono/efl_all.cs \ $(efl_eo_mono_files) \ @@ -44,16 +48,49 @@ lib_efl_mono_libefl_mono_dll_sources = \ $(efl_eldbus_mono_files) \ $(efl_ecore_evas_mono_files) +efl_mono_test_files = \ + tests/efl_mono/test_testing.eo \ + tests/efl_mono/test_child.eo \ + tests/efl_mono/test_numberwrapper.eo \ + tests/efl_mono/mono_test_driver.sh + EXTRA_DIST2 += \ -bindings/mono/efl_mono/efl_libs.cs.in \ -bindings/mono/efl_mono/efl_libs.csv.in + $(lib_efl_mono_libefl_mono_dll_sources) \ + $(efl_mono_test_files) \ + bindings/mono/efl_mono/efl_libs.cs.in \ + bindings/mono/efl_mono/efl_libs.csv.in if HAVE_CSHARP bin_PROGRAMS += bin/eolian_mono/eolian_mono bin_eolian_mono_eolian_mono_SOURCES = \ - bin/eolian_mono/eolian_mono.cc + bin/eolian_mono/eolian_mono.cc \ + bin/eolian_mono/eolian/mono/documentation.hh \ + bin/eolian_mono/eolian/mono/type.hh \ + bin/eolian_mono/eolian/mono/marshall_annotation.hh \ + bin/eolian_mono/eolian/mono/async_function_definition.hh \ + bin/eolian_mono/eolian/mono/function_pointer.hh \ + bin/eolian_mono/eolian/mono/function_definition.hh \ + bin/eolian_mono/eolian/mono/name_helpers.hh \ + bin/eolian_mono/eolian/mono/function_declaration.hh \ + bin/eolian_mono/eolian/mono/helpers.hh \ + bin/eolian_mono/eolian/mono/function_helpers.hh \ + bin/eolian_mono/eolian/mono/marshall_type_impl.hh \ + bin/eolian_mono/eolian/mono/function_registration.hh \ + bin/eolian_mono/eolian/mono/enum_definition.hh \ + bin/eolian_mono/eolian/mono/struct_definition.hh \ + bin/eolian_mono/eolian/mono/part_definition.hh \ + bin/eolian_mono/eolian/mono/struct_fields.hh \ + bin/eolian_mono/eolian/mono/parameter.hh \ + bin/eolian_mono/eolian/mono/utils.hh \ + bin/eolian_mono/eolian/mono/using_decl.hh \ + bin/eolian_mono/eolian/mono/marshall_type.hh \ + bin/eolian_mono/eolian/mono/klass.hh \ + bin/eolian_mono/eolian/mono/type_impl.hh \ + bin/eolian_mono/eolian/mono/events.hh \ + bin/eolian_mono/eolian/mono/generation_contexts.hh + bin_eolian_mono_eolian_mono_CXXFLAGS = -I$(top_builddir)/src/lib/efl \ -I$(top_srcdir)/src/lib/eolian_cxx/ \ -I$(top_srcdir)/src/bin/eolian_mono/ \ @@ -82,7 +119,7 @@ lib/evas/canvas/evas_canvas3d_object.eo.cs \ lib/evas/canvas/evas_canvas3d_primitive.eo.cs \ lib/evas/canvas/evas_canvas3d_scene.eo.cs \ lib/evas/canvas/evas_canvas3d_texture.eo.cs \ -lib/evas/canvas/efl_canvas_vg.eo.cs \ +lib/evas/canvas/efl_canvas_vg_object.eo.cs \ lib/evas/canvas/efl_vg.eo.cs \ lib/evas/canvas/efl_vg_container.eo.cs \ lib/evas/canvas/efl_vg_gradient.eo.cs \ @@ -93,18 +130,9 @@ lib/evas/canvas/efl_vg_shape.eo.cs efl_eolian_blacklisted_files = \ lib/efl/interfaces/efl_io_buffer.eo.cs \ -lib/efl/interfaces/efl_io_closer.eo.cs \ lib/efl/interfaces/efl_io_positioner.eo.cs \ lib/efl/interfaces/efl_io_queue.eo.cs \ -lib/efl/interfaces/efl_io_reader.eo.cs \ -lib/efl/interfaces/efl_io_sizer.eo.cs \ -lib/efl/interfaces/efl_io_writer.eo.cs \ -lib/efl/interfaces/efl_text_properties.eo.cs \ -lib/efl/interfaces/efl_gfx_buffer.eo.cs \ -lib/efl/interfaces/efl_gfx_shape.eo.cs \ -lib/efl/interfaces/efl_gfx_gradient.eo.cs \ -lib/efl/interfaces/efl_gfx_gradient_linear.eo.cs \ -lib/efl/interfaces/efl_gfx_gradient_radial.eo.cs +lib/efl/interfaces/efl_io_sizer.eo.cs ecore_eolian_blacklisted_files = \ lib/ecore/efl_io_closer_fd.eo.cs \ @@ -134,6 +162,13 @@ lib/elementary/elm_genlist_item.eo.cs \ lib/elementary/elm_gengrid.eo.cs \ lib/elementary/elm_glview.eo.cs +efl_mono_blacklisted_files = \ +$(evas_eolian_blacklisted_files) \ +$(efl_eolian_blacklisted_files) \ +$(ecore_eolian_blacklisted_files) \ +$(eo_eolian_blacklisted_files) \ +$(elementary_eolian_blacklisted_files) + efl_eolian_mono_files = \ $(filter-out $(eo_eolian_blacklisted_files),$(eo_eolian_files:%.eo=%.eo.cs)) \ $(filter-out $(ecore_eolian_blacklisted_files),$(ecore_eolian_files_public:%.eo=%.eo.cs)) \ @@ -150,12 +185,11 @@ lib/evas/canvas/evas_image.eo.cs \ lib/evas/canvas/efl_canvas_image.eo.cs \ lib/evas/canvas/evas_table.eo.cs \ lib/evas/canvas/evas_text.eo.cs \ -lib/efl/interfaces/efl_text_properties.eo.cs \ $(evas_canvas_eolian_type_files:%.eot=%.eot.cs) \ -lib/eo/eina_types.eot.cs +lib/eo/eina_types.eot.cs \ +lib/ecore/efl_loop_timer.eo.cs efl_mono_files_gen =\ -$(lib_efl_mono_libefl_mono_dll_sources) \ $(efl_eolian_mono_files) \ $(builddir)/bindings/mono/efl_mono/efl_libs.cs @@ -163,12 +197,15 @@ $(builddir)/bindings/mono/efl_mono/efl_libs.cs installed_eflmonomainheadersdir = $(includedir)/efl-mono-@VMAJ@/ nodist_installed_eflmonomainheaders_DATA = $(efl_eolian_files:%.eo=%.eo.cs) $(builddir)/bindings/mono/efl_mono/efl_libs.csv -CLEANFILES += $(efl_mono_files_gen) +CLEANFILES += $(efl_mono_files_gen) $(efl_mono_blacklisted_files) \ + $(builddir)/lib/efl_mono/libefl_mono.dll \ + $(builddir)/lib/efl_mono/libefl_mono.xml \ + $(builddir)/lib/efl_mono/libefl_mono.dll.config if HAVE_WIN32 -MCS_FLAGS := $(MCS_FLAGS) -MCS_FLAGS += -define:WIN32 +MCSFLAGS ?= +MCSFLAGS += -define:WIN32 endif @@ -190,11 +227,11 @@ lib_efl_mono_libeflcustomexportsmono_la_DEPENDENCIES = @EFL_CUSTOM_EXPORTS_MONO_ #Efl Mono - C Sharp binding library -libefl_mono_dll_MCS_FLAGS = -doc:lib/efl_mono/libefl_mono.xml +libefl_mono_dll_MCSFLAGS = -doc:lib/efl_mono/libefl_mono.xml -lib/efl_mono/libefl_mono.dll: $(efl_mono_files_dist) lib/efl_mono/$(am__dirstamp) $(efl_mono_files_gen) lib/efl_mono/libefl_mono.dll.config +lib/efl_mono/libefl_mono.dll: $(efl_mono_files_dist) lib/efl_mono/$(am__dirstamp) $(lib_efl_mono_libefl_mono_dll_sources) $(efl_mono_files_gen) lib/efl_mono/libefl_mono.dll.config @rm -f lib/efl_mono/libefl_mono.dll - $(AM_V_MCS) $(MCS) $(MCS_FLAGS) $(libefl_mono_dll_MCS_FLAGS) -out:$@ -t:library $(filter %.cs, $(^)) + $(AM_V_MCS) $(MCS) $(MCSFLAGS) $(libefl_mono_dll_MCSFLAGS) -out:$@ -t:library $(filter %.cs, $(^)) lib/efl_mono/libefl_mono.dll.config: echo "" > $@ @@ -206,21 +243,21 @@ lib/efl_mono/libefl_mono.dll.config: echo " " >> $@ echo "" >> $@ -if HAVE_WIN32 -efl_mono_dll_dest = $(DESTDIR)$(bindir) -else -efl_mono_dll_dest = $(DESTDIR)$(libdir)/efl-mono-@VMAJ@ -endif - EFL_INSTALL_EXEC_HOOK += \ -$(MKDIR_P) $(efl_mono_dll_dest); \ -cp -f $(builddir)/lib/efl_mono/libefl_mono.dll $(efl_mono_dll_dest)/libefl_mono.dll; \ -cp -f $(builddir)/lib/efl_mono/libefl_mono.xml $(efl_mono_dll_dest)/libefl_mono.xml; \ +$(MKDIR_P) @eflmonodlldir@; \ +cp -f $(builddir)/lib/efl_mono/libefl_mono.dll @eflmonodlldir@/libefl_mono.dll; \ +cp -f $(builddir)/lib/efl_mono/libefl_mono.xml @eflmonodlldir@/libefl_mono.xml; \ $(MKDIR_P) $(DESTDIR)$(datadir)/efl_mono; \ cp -f $(builddir)/bindings/mono/efl_mono/efl_libs.csv $(DESTDIR)$(datadir)/efl_mono/efl_libs.csv; all-local: lib/efl_mono/libefl_mono.dll +uninstall-local: + rm -rf @eflmonodlldir@/libefl_mono.dll + rm -rf @eflmonodlldir@/libefl_mono.xml + rm -rf $(DESTDIR)$(datadir)/efl_mono + rm -rf src/tests/efl_mono + ### MSBuild @@ -267,11 +304,7 @@ WIN_ADD_TEST_PATHS = $(abs_top_builddir)/src/lib/evil/.libs:$(abs_top_builddir)/ ### Rules for generating the .cs files -if HAVE_WIN32 ALL_EO_REFS = -r $(top_builddir)/src/bindings/mono/efl_mono/efl_libs.csv -else -ALL_EO_REFS= -endif lib/eo/%.eo.cs: lib/eo/%.eo $(_EOLIAN_MONO_DEP) $(AM_V_EOLMONO) \ @@ -351,57 +384,76 @@ tests_efl_mono_libefl_mono_native_test_la_LDFLAGS = -rpath $(abs_top_builddir)/t tests_efl_mono_libefl_mono_native_test_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@ @USE_ECORE_INTERNAL_LIBS@ @USE_ELDBUS_INTERNAL_LIBS@ tests_efl_mono_libefl_mono_native_test_la_LIBTOOLFLAGS = --tag=disable-static -tests/efl_mono/libefl_mono_native_test.c: tests/efl_mono/test_testing.eo.h tests/efl_mono/test_testing.eo.c tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/test_numberwrapper.eo.c +tests/efl_mono/libefl_mono_native_test.c: tests/efl_mono/test_testing.eo.h tests/efl_mono/test_testing.eo.c tests/efl_mono/test_child.eo.h tests/efl_mono/test_child.eo.c tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/test_numberwrapper.eo.c # Intermediate C Sharp test DLL efl_mono_test_eolian_mono_files = tests/efl_mono/test_testing.eo.cs \ +tests/efl_mono/test_child.eo.cs \ tests/efl_mono/test_numberwrapper.eo.cs -tests/efl_mono/libefl_mono_test.dll: $(efl_mono_test_eolian_mono_files) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_native_test.la +tests/efl_mono/libefl_mono_test.dll: $(efl_mono_test_eolian_mono_files) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_native_test.la tests/efl_mono/libefl_mono_test.dll.config @rm -f tests/efl_mono/libefl_mono_test.dll - $(AM_V_MCS) $(MCS) $(MCS_FLAGS) -r:$(abs_builddir)/lib/efl_mono/libefl_mono.dll -out:$@ -t:library $(filter %.cs, $(^)) + $(AM_V_MCS) $(MCS) $(MCSFLAGS) -r:$(abs_builddir)/lib/efl_mono/libefl_mono.dll -out:$@ -t:library $(filter %.cs, $(^)) tests/efl_mono/efl_mono$(EXEEXT).config: echo "" > $@ echo " " >> $@ echo " " >> $@ echo " " >> $@ + echo " " >> $@ + echo " " >> $@ + echo " " >> $@ + echo " " >> $@ + echo "" >> $@ + +tests/efl_mono/libefl_mono_test.dll.config: + echo "" > $@ + echo " " >> $@ + echo " " >> $@ + echo " " >> $@ + echo " " >> $@ echo " " >> $@ echo " " >> $@ echo " " >> $@ echo "" >> $@ # C Sharp test executable -AM_TESTS_ENVIRONMENT += MONO='mono'; export MONO; -AM_TESTS_ENVIRONMENT += MONO_BUILDPATH='$(abs_top_builddir)'; export MONO_BUILDPATH; -AM_TESTS_ENVIRONMENT += MONO_PATH='$(TEST_PATHS)'; export MONO_PATH; -AM_TESTS_ENVIRONMENT += EXEEXT='$(EXEEXT)'; export EXEEXT; +AM_TESTS_ENVIRONMENT += MONO='mono' +AM_TESTS_ENVIRONMENT += MONO_BUILDPATH='$(abs_top_builddir)' +AM_TESTS_ENVIRONMENT += MONO_PATH='$(TEST_PATHS)' +AM_TESTS_ENVIRONMENT += EXEEXT='$(EXEEXT)' if HAVE_WIN32 -AM_TESTS_ENVIRONMENT += PATH='$(PATH):$(TEST_PATHS):$(WIN_ADD_TEST_PATHS)'; export PATH; +AM_TESTS_ENVIRONMENT += PATH='$(PATH):$(TEST_PATHS):$(WIN_ADD_TEST_PATHS)' else -AM_TESTS_ENVIRONMENT += LD_LIBRARY_PATH='$(LD_LIBRARY_PATH):$(TEST_PATHS)'; export LD_LIBRARY_PATH; +AM_TESTS_ENVIRONMENT += LD_LIBRARY_PATH='$(LD_LIBRARY_PATH):$(TEST_PATHS)' check_PROGRAMS += tests/efl_mono/efl_mono TESTS += tests/efl_mono/mono_test_driver.sh tests_efl_mono_efl_mono_SOURCES = \ tests/efl_mono/Main.cs \ + tests/efl_mono/TestUtils.cs \ + tests/efl_mono/BasicDirection.cs \ tests/efl_mono/Eina.cs \ tests/efl_mono/Eldbus.cs \ tests/efl_mono/Eo.cs \ + tests/efl_mono/EoPromises.cs \ tests/efl_mono/Errors.cs \ tests/efl_mono/Evas.cs \ tests/efl_mono/Events.cs \ tests/efl_mono/FunctionPointers.cs \ + tests/efl_mono/FunctionPointerMarshalling.cs \ + tests/efl_mono/Parts.cs \ + tests/efl_mono/Promises.cs \ + tests/efl_mono/Strbuf.cs \ tests/efl_mono/Strings.cs \ tests/efl_mono/Structs.cs \ - tests/efl_mono/TestUtils.cs \ tests/efl_mono/Value.cs \ tests/efl_mono/ValueEolian.cs tests/efl_mono/efl_mono$(EXEEXT): $(tests_efl_mono_efl_mono_SOURCES) tests/efl_mono/$(am__dirstamp) lib/efl_mono/libefl_mono.dll tests/efl_mono/libefl_mono_test.dll tests/efl_mono/efl_mono$(EXEEXT).config @rm -f $@ - $(AM_V_MCS) $(MCS) $(MCS_FLAGS) -r:$(abs_top_builddir)/src/lib/efl_mono/libefl_mono.dll -r:$(abs_top_builddir)/src/tests/efl_mono/libefl_mono_test.dll -out:$@ $(filter %.cs, $(^)) + $(AM_V_MCS) $(MCS) $(MCSFLAGS) -r:$(abs_top_builddir)/src/lib/efl_mono/libefl_mono.dll -r:$(abs_top_builddir)/src/tests/efl_mono/libefl_mono_test.dll -out:$@ $(filter %.cs, $(^)) # Rule for generating the .cs files tests/efl_mono/%.eo.cs: tests/efl_mono/%.eo $(_EOLIAN_MONO_DEP) @@ -409,7 +461,7 @@ tests/efl_mono/%.eo.cs: tests/efl_mono/%.eo $(_EOLIAN_MONO_DEP) $(MKDIR_P) $(dir $@); \ $(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport "@DLIB_PREFIX_MONO@efl_mono_native_test@DLIB_SUFFIX_MONO@" -o $@ $(ALL_EO_REFS) $< -CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/test_testing.eo.cs tests/efl_mono/test_numberwrapper.eo.cs tests/efl_mono/test_testing.eo.c tests/efl_mono/test_numberwrapper.eo.c tests/efl_mono/test_testing.eo.h tests/efl_mono/test_numberwrapper.eo.h +CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/test_testing.eo.cs tests/efl_mono/test_child.eo.cs tests/efl_mono/test_numberwrapper.eo.cs tests/efl_mono/test_testing.eo.c tests/efl_mono/test_child.eo.c tests/efl_mono/test_numberwrapper.eo.c tests/efl_mono/test_testing.eo.h tests/efl_mono/test_child.eo.h tests/efl_mono/test_numberwrapper.eo.h tests/efl_mono/efl_mono.config endif diff --git a/src/Makefile_Efreet.am b/src/Makefile_Efreet.am index f955cec33e..8912919892 100644 --- a/src/Makefile_Efreet.am +++ b/src/Makefile_Efreet.am @@ -11,6 +11,7 @@ EFREET_COMMON_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/efreet\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ -DDATA_DIR=\"$(datadir)\" \ -DLOCALE_DIR=\"@LOCALE_DIR@\" \ @EFREET_CFLAGS@ @@ -43,7 +44,9 @@ lib/efreet/efreet_uri.c \ lib/efreet/efreet_cache.c \ lib/efreet/efreet_private.h \ lib/efreet/efreet_xml.h \ -lib/efreet/efreet_cache_private.h +lib/efreet/efreet_cache_private.h \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c lib_efreet_libefreet_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS) lib_efreet_libefreet_la_LIBADD = @EFREET_LIBS@ @EVIL_LIBS@ diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am index 186bd1e8e1..997c5262dd 100644 --- a/src/Makefile_Eina.am +++ b/src/Makefile_Eina.am @@ -107,7 +107,8 @@ lib/eina/eina_slice.h \ lib/eina/eina_inline_slice.x \ lib/eina/eina_inline_modinfo.x \ lib/eina/eina_freeq.h \ -lib/eina/eina_slstr.h +lib/eina/eina_slstr.h \ +lib/eina/eina_vpath.h lib_eina_libeina_la_SOURCES = \ @@ -183,7 +184,8 @@ lib/eina/eina_quaternion.c \ lib/eina/eina_bezier.c \ lib/eina/eina_safepointer.c \ lib/eina/eina_freeq.c \ -lib/eina/eina_slstr.c +lib/eina/eina_slstr.c \ +lib/eina/eina_vpath.c if HAVE_WIN32 @@ -356,13 +358,15 @@ tests/eina/eina_test_bezier.c \ tests/eina/eina_test_safepointer.c \ tests/eina/eina_test_slice.c \ tests/eina/eina_test_freeq.c \ -tests/eina/eina_test_slstr.c +tests/eina/eina_test_slstr.c \ +tests/eina/eina_test_vpath.c \ +tests/eina/eina_test_debug.c tests_eina_eina_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DTESTS_WD=\"`pwd`\" \ -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eina\" \ --DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eina\" \ --DTESTS_BUILD_DIR=PACKAGE_BUILD_DIR \ +-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/\" \ +-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eina\" \ @CHECK_CFLAGS@ \ @EINA_CFLAGS@ tests_eina_eina_suite_LDADD = @CHECK_LIBS@ @USE_EINA_LIBS@ @@ -377,7 +381,7 @@ check_LTLIBRARIES = tests/eina/module_dummy.la tests_eina_module_dummy_la_SOURCES = tests/eina/eina_test_module_dummy.c tests_eina_module_dummy_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ --DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eina\" \ +-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/\" \ @CHECK_CFLAGS@ \ @EINA_CFLAGS@ tests_eina_module_dummy_la_LIBADD = @USE_EINA_LIBS@ diff --git a/src/Makefile_Eldbus.am b/src/Makefile_Eldbus.am index 9add4689e4..2fd22ad4f5 100644 --- a/src/Makefile_Eldbus.am +++ b/src/Makefile_Eldbus.am @@ -10,7 +10,8 @@ eldbus_eolian_files = \ lib/eldbus/eldbus_model_proxy.eo \ lib/eldbus/eldbus_model_method.eo \ lib/eldbus/eldbus_model_arguments.eo \ - lib/eldbus/eldbus_model_signal.eo + lib/eldbus/eldbus_model_signal.eo \ + lib/eldbus/eldbus_model.eo eldbus_eolian_c = $(eldbus_eolian_files:%.eo=%.eo.c) eldbus_eolian_h = $(eldbus_eolian_files:%.eo=%.eo.h) \ @@ -74,6 +75,7 @@ lib/eldbus/eldbus_model_proxy.c \ lib/eldbus/eldbus_model_method.c \ lib/eldbus/eldbus_model_arguments.c \ lib/eldbus/eldbus_model_signal.c \ +lib/eldbus/eldbus_model.c \ lib/eldbus/eldbus_introspection.c lib_eldbus_libeldbus_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index 5b292a5445..b2a356b1f1 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -2,7 +2,7 @@ ### Library elm_public_eolian_files = \ - lib/elementary/elm_widget.eo \ + lib/elementary/efl_ui_widget.eo \ lib/elementary/efl_ui_bg.eo \ lib/elementary/efl_ui_bg_widget.eo \ lib/elementary/efl_ui_button.eo \ @@ -11,11 +11,15 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_check.eo \ lib/elementary/efl_ui_flip.eo \ lib/elementary/efl_ui_frame.eo \ + lib/elementary/efl_ui_stack.eo \ lib/elementary/efl_ui_image.eo \ lib/elementary/efl_ui_image_zoomable.eo \ - lib/elementary/efl_ui_layout.eo \ - lib/elementary/efl_ui_multibuttonentry.eo \ + lib/elementary/efl_ui_layout_object.eo \ lib/elementary/efl_ui_nstate.eo \ + lib/elementary/efl_ui_navigation_bar.eo \ + lib/elementary/efl_ui_navigation_bar_part.eo \ + lib/elementary/efl_ui_navigation_bar_part_back_button.eo \ + lib/elementary/efl_ui_navigation_layout.eo \ lib/elementary/efl_ui_panes.eo \ lib/elementary/efl_ui_progressbar.eo \ lib/elementary/efl_ui_radio.eo \ @@ -23,6 +27,9 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_slider_interval.eo \ lib/elementary/efl_ui_spin.eo \ lib/elementary/efl_ui_spin_button.eo \ + lib/elementary/efl_ui_datepicker.eo \ + lib/elementary/efl_ui_timepicker.eo \ + lib/elementary/efl_ui_tags.eo \ lib/elementary/efl_ui_video.eo \ lib/elementary/efl_ui_win.eo \ lib/elementary/efl_ui_win_inlined.eo \ @@ -32,7 +39,7 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_box_stack.eo \ lib/elementary/efl_ui_table.eo \ lib/elementary/efl_ui_table_static.eo \ - lib/elementary/efl_ui_text_interactive.eo \ + lib/elementary/efl_text_interactive.eo \ lib/elementary/efl_ui_text.eo \ lib/elementary/efl_ui_popup.eo \ lib/elementary/efl_ui_popup_part.eo \ @@ -45,6 +52,9 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_popup_anchor.eo \ lib/elementary/efl_ui_text_editable.eo \ lib/elementary/efl_ui_text_async.eo \ + lib/elementary/efl_ui_text_factory_images.eo \ + lib/elementary/efl_ui_text_factory_emoticons.eo \ + lib/elementary/efl_ui_text_factory_fallback.eo \ lib/elementary/efl_ui_textpath.eo \ lib/elementary/efl_ui_translatable.eo \ lib/elementary/efl_ui_clock.eo \ @@ -55,11 +65,9 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_focus_manager_sub.eo \ lib/elementary/efl_ui_focus_manager_root_focus.eo \ lib/elementary/efl_ui_focus_object.eo \ - lib/elementary/efl_ui_focus_user.eo \ lib/elementary/efl_ui_focus_layer.eo \ lib/elementary/efl_ui_focus_composition.eo \ lib/elementary/efl_ui_focus_util.eo \ - lib/elementary/efl_ui_button_part.eo \ lib/elementary/efl_ui_flip_part.eo \ lib/elementary/efl_ui_layout_factory.eo \ lib/elementary/efl_ui_layout_part.eo \ @@ -69,14 +77,22 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_layout_part_table.eo \ lib/elementary/efl_ui_layout_part_bg.eo \ lib/elementary/efl_ui_layout_part_legacy.eo \ + lib/elementary/efl_ui_view_list.eo \ + lib/elementary/efl_ui_view_list_model.eo \ + lib/elementary/efl_ui_view_list_pan.eo \ + lib/elementary/efl_ui_view_list_segarray.eo \ + lib/elementary/efl_ui_view_list_relayout.eo \ + lib/elementary/efl_ui_item.eo \ + lib/elementary/efl_ui_list_item.eo \ + lib/elementary/efl_ui_list_default_item_part_icon.eo \ + lib/elementary/efl_ui_list_default_item_part_end.eo \ + lib/elementary/efl_ui_list_default_item.eo \ + lib/elementary/efl_ui_list_empty_item.eo \ lib/elementary/efl_ui_list.eo \ - lib/elementary/efl_ui_list_model.eo \ - lib/elementary/efl_ui_list_pan.eo \ - lib/elementary/efl_ui_list_relayout.eo \ - lib/elementary/efl_ui_multibuttonentry_part.eo \ lib/elementary/efl_ui_panes_part.eo \ lib/elementary/efl_ui_progressbar_part.eo \ - lib/elementary/efl_ui_slider_part_indicator.eo \ + lib/elementary/elm_slider.eo \ + lib/elementary/elm_slider_part_indicator.eo \ lib/elementary/efl_ui_textpath_part.eo \ lib/elementary/efl_ui_widget_part.eo \ lib/elementary/efl_ui_widget_part_bg.eo \ @@ -85,11 +101,10 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_scroller.eo \ lib/elementary/efl_ui_scroll_manager.eo \ lib/elementary/efl_ui_pan.eo \ - lib/elementary/efl_access.eo \ + lib/elementary/efl_access_object.eo \ lib/elementary/efl_access_action.eo \ lib/elementary/efl_access_component.eo \ lib/elementary/efl_access_editable_text.eo \ - lib/elementary/efl_access_image.eo \ lib/elementary/efl_access_selection.eo \ lib/elementary/efl_access_text.eo \ lib/elementary/efl_access_value.eo \ @@ -97,12 +112,33 @@ elm_public_eolian_files = \ lib/elementary/efl_access_window.eo \ lib/elementary/efl_config_global.eo \ lib/elementary/elm_code_widget.eo \ + lib/elementary/efl_selection.eo \ + lib/elementary/efl_ui_dnd.eo \ + lib/elementary/efl_ui_dnd_container.eo \ + lib/elementary/efl_ui_focus_manager_window_root.eo \ + lib/elementary/efl_ui_pager.eo \ + lib/elementary/efl_page_transition.eo \ + lib/elementary/efl_page_transition_scroll.eo \ + lib/elementary/efl_page_indicator.eo \ + lib/elementary/efl_page_indicator_icon.eo \ + lib/elementary/efl_ui_tab_pager.eo \ + lib/elementary/efl_ui_tab_bar.eo \ + lib/elementary/efl_ui_tab_page.eo \ + lib/elementary/efl_ui_tab_page_part_tab.eo \ + lib/elementary/efl_ui_widget_focus_manager.eo \ $(NULL) # More public files -- FIXME elm_public_eolian_files += \ + lib/elementary/efl_ui_legacy.eo \ + lib/elementary/efl_ui_button_legacy_part.eo \ + lib/elementary/efl_ui_radio_legacy_part.eo \ + lib/elementary/efl_ui_check_legacy_part.eo \ + lib/elementary/efl_ui_progressbar_legacy_part.eo \ lib/elementary/elm_spinner.eo \ + lib/elementary/elm_multibuttonentry.eo \ lib/elementary/elm_multibuttonentry_item.eo \ + lib/elementary/elm_multibuttonentry_part.eo \ lib/elementary/elm_interface_scrollable.eo \ lib/elementary/elm_atspi_bridge.eo \ lib/elementary/elm_atspi_app_object.eo \ @@ -121,16 +157,35 @@ elm_private_eolian_files = \ lib/elementary/efl_ui_internal_text_interactive.eo \ lib/elementary/efl_ui_focus_composition_adapter.eo \ lib/elementary/efl_ui_win_part.eo \ - lib/elementary/efl_ui_focus_rectangle.eo \ lib/elementary/efl_ui_focus_parent_provider.eo \ lib/elementary/efl_ui_focus_parent_provider_standard.eo \ lib/elementary/efl_ui_focus_parent_provider_gen.eo \ + lib/elementary/efl_ui_model_state.eo \ tests/elementary/focus_test.eo \ tests/elementary/focus_test_sub_main.eo \ + lib/elementary/efl_selection_manager.eo \ + lib/elementary/efl_datetime_manager.eo \ $(NULL) # Legacy classes - not part of public EO API elm_legacy_eolian_files = \ + lib/elementary/efl_ui_button_legacy.eo \ + lib/elementary/efl_ui_check_legacy.eo \ + lib/elementary/efl_ui_radio_legacy.eo \ + lib/elementary/efl_ui_bg_widget_legacy.eo \ + lib/elementary/efl_ui_video_legacy.eo \ + lib/elementary/efl_ui_frame_legacy.eo \ + lib/elementary/efl_ui_panes_legacy.eo \ + lib/elementary/efl_ui_image_zoomable_legacy.eo \ + lib/elementary/efl_ui_flip_legacy.eo \ + lib/elementary/efl_ui_win_legacy.eo \ + lib/elementary/efl_ui_image_legacy.eo \ + lib/elementary/efl_ui_progressbar_legacy.eo \ + lib/elementary/efl_ui_clock_legacy.eo \ + lib/elementary/efl_ui_layout_legacy.eo \ + lib/elementary/elm_code_widget_legacy.eo \ + lib/elementary/efl_ui_win_socket_legacy.eo \ + lib/elementary/efl_ui_win_inlined_legacy.eo \ lib/elementary/elm_interface_fileselector.eo \ lib/elementary/elm_calendar.eo \ lib/elementary/elm_calendar_item.eo \ @@ -220,13 +275,15 @@ elm_legacy_eolian_files = \ lib/elementary/elm_slideshow_item.eo \ lib/elementary/elm_table.eo \ lib/elementary/elm_thumb.eo \ - lib/elementary/efl_ui_list_precise_layouter.eo \ + lib/elementary/efl_ui_view_list_precise_layouter.eo \ $(NULL) elm_eolian_type_files = \ lib/elementary/elm_general.eot \ lib/elementary/efl_ui.eot \ - lib/elementary/efl_ui_list_types.eot + lib/elementary/efl_ui_view_list_types.eot \ + lib/elementary/efl_selection_types.eot \ + lib/elementary/efl_ui_dnd_types.eot elm_public_eolian_c = $(elm_public_eolian_files:%.eo=%.eo.c) elm_public_eolian_h = $(elm_public_eolian_files:%.eo=%.eo.h) \ @@ -267,7 +324,7 @@ includesdir = $(includedir)/elementary-@VMAJ@ includesunstable_HEADERS = \ lib/elementary/elm_gen_common.h \ lib/elementary/elm_atspi_bridge.h \ - lib/elementary/efl_access.h \ + lib/elementary/efl_access_object.h \ lib/elementary/efl_access_text.h \ lib/elementary/efl_access_widget_action.h \ lib/elementary/efl_access_window.h \ @@ -298,6 +355,7 @@ includesunstable_HEADERS = \ lib/elementary/efl_ui_widget_flip.h \ lib/elementary/elm_widget_flipselector.h \ lib/elementary/efl_ui_widget_frame.h \ + lib/elementary/efl_ui_stack_private.h \ lib/elementary/elm_widget_gengrid.h \ lib/elementary/elm_widget_genlist.h \ lib/elementary/elm_widget_glview.h \ @@ -319,8 +377,10 @@ includesunstable_HEADERS = \ lib/elementary/elm_widget_map.h \ lib/elementary/elm_widget_mapbuf.h \ lib/elementary/elm_widget_menu.h \ - lib/elementary/efl_ui_multibuttonentry_private.h \ + lib/elementary/elm_widget_multibuttonentry.h \ lib/elementary/elm_widget_naviframe.h \ + lib/elementary/efl_ui_navigation_bar_private.h \ + lib/elementary/efl_ui_navigation_layout_private.h \ lib/elementary/elm_widget_notify.h \ lib/elementary/elm_widget_panel.h \ lib/elementary/efl_ui_panes_private.h \ @@ -336,23 +396,31 @@ includesunstable_HEADERS = \ lib/elementary/elm_widget_scroller.h \ lib/elementary/elm_widget_segment_control.h \ lib/elementary/elm_widget_separator.h \ + lib/elementary/elm_widget_slider.h \ lib/elementary/efl_ui_slider_private.h \ + lib/elementary/efl_ui_slider_interval_private.h \ lib/elementary/elm_widget_slideshow.h \ lib/elementary/elm_widget_spinner.h \ lib/elementary/efl_ui_spin_private.h \ lib/elementary/efl_ui_spin_button_private.h \ + lib/elementary/efl_ui_datepicker_private.h \ + lib/elementary/efl_ui_timepicker_private.h \ + lib/elementary/efl_ui_tags_private.h \ lib/elementary/elm_widget_table.h \ lib/elementary/elm_widget_thumb.h \ lib/elementary/elm_widget_toolbar.h \ lib/elementary/efl_ui_video_private.h \ + lib/elementary/efl_ui_item_private.h \ + lib/elementary/efl_ui_list_item_private.h \ lib/elementary/efl_ui_list_private.h \ - lib/elementary/efl_ui_list_segarray.h \ + lib/elementary/efl_ui_view_list_private.h \ + lib/elementary/efl_ui_view_list_segarray.h \ lib/elementary/elm_widget_web.h \ lib/elementary/efl_ui_clock.h \ lib/elementary/elm_code.h \ lib/elementary/elm_code_widget_legacy.h \ lib/elementary/elm_code_widget_selection.h \ - lib/elementary/elm_code_diff_widget.h \ + lib/elementary/elm_code_diff_widget.h \ lib/elementary/elm_code_common.h \ lib/elementary/elm_code_line.h \ lib/elementary/elm_code_text.h \ @@ -360,11 +428,19 @@ includesunstable_HEADERS = \ lib/elementary/elm_code_file.h \ lib/elementary/elm_code_parse.h \ lib/elementary/elm_code_syntax.h \ - lib/elementary/efl_ui_multibuttonentry.h \ lib/elementary/efl_ui_widget_scroller.h \ lib/elementary/efl_ui_widget_scroll_manager.h \ lib/elementary/efl_ui_widget_pan.h \ - lib/elementary/Efl_Ui.h + lib/elementary/efl_ui_nstate_private.h \ + lib/elementary/Efl_Ui.h \ + lib/elementary/efl_ui_widget_pager.h \ + lib/elementary/efl_page_transition.h \ + lib/elementary/efl_page_transition_scroll.h \ + lib/elementary/efl_page_indicator.h \ + lib/elementary/efl_page_indicator_icon.h \ + lib/elementary/efl_ui_tab_pager_private.h \ + lib/elementary/efl_ui_tab_bar_private.h \ + lib/elementary/efl_ui_tab_page_private.h includesunstabledir = $(includedir)/elementary-@VMAJ@ nodist_includesunstable_HEADERS = \ @@ -386,7 +462,7 @@ includesub_HEADERS = \ lib/elementary/elc_hoversel.h \ lib/elementary/elc_hoversel_legacy.h \ lib/elementary/elc_multibuttonentry.h \ - lib/elementary/efl_ui_multibuttonentry_eo.h \ + lib/elementary/elc_multibuttonentry_eo.h \ lib/elementary/elc_multibuttonentry_legacy.h \ lib/elementary/elc_multibuttonentry_common.h \ lib/elementary/elc_naviframe.h \ @@ -541,7 +617,6 @@ includesub_HEADERS = \ lib/elementary/elm_separator_legacy.h \ lib/elementary/elm_slider.h \ lib/elementary/elm_slider_common.h \ - lib/elementary/efl_ui_slider_eo.h \ lib/elementary/elm_slider_legacy.h \ lib/elementary/elm_slideshow.h \ lib/elementary/elm_slideshow_common.h \ @@ -594,8 +669,10 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elc_fileselector_button.c \ lib/elementary/elc_fileselector_entry.c \ lib/elementary/elc_hoversel.c \ - lib/elementary/efl_ui_multibuttonentry.c \ + lib/elementary/elc_multibuttonentry.c \ lib/elementary/elc_naviframe.c \ + lib/elementary/efl_ui_navigation_bar.c \ + lib/elementary/efl_ui_navigation_layout.c \ lib/elementary/elc_player.c \ lib/elementary/elc_popup.c \ lib/elementary/elc_scrolled_entry.c \ @@ -603,6 +680,7 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_actionslider.c \ lib/elementary/elm_atspi_app_object.c \ lib/elementary/elm_atspi_bridge.c \ + lib/elementary/efl_ui_legacy.c \ lib/elementary/efl_ui_bg.c \ lib/elementary/efl_ui_bg_widget.c \ lib/elementary/elm_box.c \ @@ -612,7 +690,6 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/efl_ui_calendar.c \ lib/elementary/efl_ui_check.c \ lib/elementary/elm_clock.c \ - lib/elementary/elm_cnp.c \ lib/elementary/elm_code_line.c \ lib/elementary/elm_code_text.c \ lib/elementary/elm_code_indent.c \ @@ -641,6 +718,7 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_flipselector.c \ lib/elementary/elm_font.c \ lib/elementary/efl_ui_frame.c \ + lib/elementary/efl_ui_stack.c \ lib/elementary/elm_gengrid.c \ lib/elementary/elm_genlist.c \ lib/elementary/elm_gesture_layer.c \ @@ -651,11 +729,10 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_icon.c \ lib/elementary/efl_ui_image.c \ lib/elementary/elm_index.c \ - lib/elementary/efl_access.c \ + lib/elementary/efl_access_object.c \ lib/elementary/efl_access_action.c \ lib/elementary/efl_access_component.c \ lib/elementary/efl_access_editable_text.c \ - lib/elementary/efl_access_image.c \ lib/elementary/efl_access_selection.c \ lib/elementary/efl_access_text.c \ lib/elementary/efl_access_value.c \ @@ -665,7 +742,7 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_interface_scrollable.c \ lib/elementary/elm_inwin.c \ lib/elementary/elm_label.c \ - lib/elementary/efl_ui_layout.c \ + lib/elementary/efl_ui_layout_object.c \ lib/elementary/efl_ui_layout_pack.c \ lib/elementary/elm_list.c \ lib/elementary/elm_main.c \ @@ -689,10 +766,14 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_scroller.c \ lib/elementary/elm_segment_control.c \ lib/elementary/elm_separator.c \ + lib/elementary/elm_slider.c \ lib/elementary/efl_ui_slider.c \ lib/elementary/efl_ui_slider_interval.c \ lib/elementary/efl_ui_spin.c \ lib/elementary/efl_ui_spin_button.c \ + lib/elementary/efl_ui_datepicker.c \ + lib/elementary/efl_ui_timepicker.c \ + lib/elementary/efl_ui_tags.c \ lib/elementary/elm_slideshow.c \ lib/elementary/elm_spinner.c \ lib/elementary/elm_store.c \ @@ -711,7 +792,7 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_view_list.c \ lib/elementary/elm_view_form.c \ lib/elementary/elm_web2.c \ - lib/elementary/elm_widget.c \ + lib/elementary/efl_ui_widget.c \ lib/elementary/efl_ui_win.c \ lib/elementary/efl_ui_win_inlined.c \ lib/elementary/efl_ui_win_socket.c \ @@ -734,6 +815,9 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/efl_ui_table_static.c \ lib/elementary/efl_ui_table_private.h \ lib/elementary/efl_ui_text.c \ + lib/elementary/efl_ui_text_factory_images.c \ + lib/elementary/efl_ui_text_factory_emoticons.c \ + lib/elementary/efl_ui_text_factory_fallback.c \ lib/elementary/efl_ui_clock.c \ lib/elementary/efl_ui_clock_private.h \ lib/elementary/efl_ui_image_factory.c \ @@ -750,13 +834,37 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/efl_ui_focus_parent_provider_gen.c \ lib/elementary/efl_ui_focus_util.c \ lib/elementary/elm_widget_item_static_focus.c \ + lib/elementary/efl_ui_item.c \ + lib/elementary/efl_ui_list_item.c \ + lib/elementary/efl_ui_list_default_item.c \ + lib/elementary/efl_ui_list_empty_item.c \ lib/elementary/efl_ui_list.c \ - lib/elementary/efl_ui_list_precise_layouter.c \ - lib/elementary/efl_ui_list_segarray.c \ + lib/elementary/efl_ui_view_list.c \ + lib/elementary/efl_ui_view_list_precise_layouter.c \ + lib/elementary/efl_ui_view_list_segarray.c \ lib/elementary/efl_ui_layout_factory.c \ lib/elementary/efl_ui_scroller.c \ lib/elementary/efl_ui_scroll_manager.c \ lib/elementary/efl_ui_pan.c \ + lib/elementary/efl_selection_manager.c \ + lib/elementary/efl_selection_manager_private.h \ + lib/elementary/efl_selection.c \ + lib/elementary/efl_datetime_manager.c \ + lib/elementary/efl_ui_dnd.c \ + lib/elementary/elm_focus_legacy.c \ + static_libs/buildsystem/buildsystem.h \ + static_libs/buildsystem/buildsystem_autotools.c \ + lib/elementary/efl_ui_pager.c \ + lib/elementary/efl_page_transition.c \ + lib/elementary/efl_page_transition_scroll.c \ + lib/elementary/efl_page_indicator.c \ + lib/elementary/efl_page_indicator_icon.c \ + lib/elementary/efl_ui_focus_graph.h \ + lib/elementary/efl_ui_focus_graph.c \ + lib/elementary/efl_ui_tab_pager.c \ + lib/elementary/efl_ui_tab_bar.c \ + lib/elementary/efl_ui_tab_page.c \ + lib/elementary/efl_ui_widget_focus_manager.c \ $(NULL) @@ -780,6 +888,8 @@ lib_elementary_libelementary_la_CPPFLAGS = \ -DPACKAGE_DATA_DIR=\"$(datadir)/elementary\" \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ -DLOCALE_DIR=\"$(localedir)\" \ -DICON_DIR=\"$(datadir)/icons\" \ -DELM_TOP_BUILD_DIR=\"$(top_builddir)\" \ @@ -828,6 +938,7 @@ bin/elementary/test_bg.c \ bin/elementary/test_box.c \ bin/elementary/test_bubble.c \ bin/elementary/test_button.c \ +bin/elementary/test_ui_button.c \ bin/elementary/test_calendar.c \ bin/elementary/test_check.c \ bin/elementary/test_clock.c \ @@ -890,6 +1001,7 @@ bin/elementary/test_glview.c \ bin/elementary/test_glview_manygears.c \ bin/elementary/test_grid.c \ bin/elementary/test_ui_table_static.c \ +bin/elementary/test_ui_stack.c \ bin/elementary/test_hover.c \ bin/elementary/test_hoversel.c \ bin/elementary/test_icon.c \ @@ -921,6 +1033,7 @@ bin/elementary/test_photocam.c \ bin/elementary/test_popup.c \ bin/elementary/test_prefs.c \ bin/elementary/test_progressbar.c \ +bin/elementary/test_ui_progressbar.c \ bin/elementary/test_radio.c \ bin/elementary/test_scaling.c \ bin/elementary/test_scroller.c \ @@ -932,6 +1045,9 @@ bin/elementary/test_ui_slider.c \ bin/elementary/test_ui_slider_interval.c \ bin/elementary/test_ui_spin.c \ bin/elementary/test_ui_spin_button.c \ +bin/elementary/test_ui_datepicker.c \ +bin/elementary/test_ui_timepicker.c \ +bin/elementary/test_ui_tags.c \ bin/elementary/test_slideshow.c \ bin/elementary/test_spinner.c \ bin/elementary/test_store.c \ @@ -963,6 +1079,7 @@ bin/elementary/test_efl_ui_text.c \ bin/elementary/test_win_stack.c \ bin/elementary/test_win_indicator.c \ bin/elementary/test_gesture_framework.c \ +bin/elementary/test_ui_tab_pager.c \ bin/elementary/test.h bin_elementary_elementary_test_LDADD = @USE_ELEMENTARY_LIBS@ @@ -1358,8 +1475,8 @@ AM_TESTS_ENVIRONMENT += \ ELM_RUN_IN_TREE=1 \ EFL_RUN_IN_TREE=1 -check_PROGRAMS += tests/elementary/elm_suite -TESTS += tests/elementary/elm_suite +check_PROGRAMS += tests/elementary/elm_suite tests/elementary/efl_ui_suite +TESTS += tests/elementary/elm_suite tests/elementary/efl_ui_suite tests_elementary_elm_suite_SOURCES = \ tests/elementary/elm_suite.c \ @@ -1460,6 +1577,24 @@ tests_elementary_elm_suite_CPPFLAGS = \ tests_elementary_elm_suite_LDADD = @CHECK_LIBS@ @USE_ELEMENTARY_LIBS@ tests_elementary_elm_suite_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@ $(top_builddir)/data/elementary/objects/test.edj + +tests_elementary_efl_ui_suite_SOURCES = \ + tests/elementary/efl_ui_suite.c + +tests_elementary_efl_ui_suite_CPPFLAGS = \ + -DTESTS_BUILD_DIR=\"${top_builddir}/src/tests/elementary\" \ + -DTESTS_SRC_DIR=\"${top_srcdir}/src/tests/elementary\" \ + -DELM_IMAGE_DATA_DIR=\"${top_srcdir}/data/elementary\" \ + -DELM_TEST_DATA_DIR=\"${abs_top_builddir}/data/elementary\" \ + -DPACKAGE_DATA_DIR=\"${abs_top_builddir}/data/elementary\" \ + -I$(top_srcdir)/src/lib/elementary \ + -I$(top_builddir)/src/lib/elementary \ + -I$(top_builddir)/src/tests/elementary \ + @CHECK_CFLAGS@ \ + @ELEMENTARY_CFLAGS@ + +tests_elementary_efl_ui_suite_LDADD = @CHECK_LIBS@ @USE_ELEMENTARY_LIBS@ +tests_elementary_efl_ui_suite_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@ $(top_builddir)/data/elementary/objects/test.edj endif if HAVE_ELUA diff --git a/src/Makefile_Elua.am b/src/Makefile_Elua.am index bd1da51f90..bc2513f903 100644 --- a/src/Makefile_Elua.am +++ b/src/Makefile_Elua.am @@ -54,41 +54,33 @@ ELUA_APPS_DIR = $(abs_top_srcdir)/src/scripts/elua/apps ### Helper for other modules using Elua include Makefile_Elua_Helper.am -eluaappsdir = $(datadir)/elua/apps - -eluaapps_DATA = \ +endif +eluaapps_files = \ scripts/elua/apps/lualian.lua \ scripts/elua/apps/gendoc.lua \ scripts/elua/apps/gendoc.sh \ scripts/elua/apps/README-docgen.md -EXTRA_DIST2 += $(eluaapps_DATA) +EXTRA_DIST2 += $(eluaapps_files) -eluadocgendir = $(datadir)/elua/apps/docgen - -eluadocgen_DATA = \ +eluadocgen_files = \ scripts/elua/apps/docgen/doctree.lua \ scripts/elua/apps/docgen/keyref.lua \ scripts/elua/apps/docgen/stats.lua \ scripts/elua/apps/docgen/util.lua \ scripts/elua/apps/docgen/writer.lua -EXTRA_DIST2 += $(eluadocgen_DATA) - -eluamodulesdir = $(datadir)/elua/modules - -eluamodules_DATA = \ +EXTRA_DIST2 += $(eluadocgen_files) +eluamodules_files = \ scripts/elua/modules/benchmark.lua \ scripts/elua/modules/getopt.lua \ scripts/elua/modules/lualian.lua \ bindings/luajit/eo.lua \ bindings/luajit/eolian.lua -EXTRA_DIST2 += $(eluamodules_DATA) +EXTRA_DIST2 += $(eluamodules_files) -eluaeinadir = $(eluamodulesdir)/eina - -eluaeina_DATA = \ +eluaeina_files = \ bindings/luajit/eina/accessor.lua \ bindings/luajit/eina/counter.lua \ bindings/luajit/eina/file.lua \ @@ -100,18 +92,27 @@ eluaeina_DATA = \ bindings/luajit/eina/tiler.lua \ bindings/luajit/eina/xattr.lua -EXTRA_DIST2 += $(eluaeina_DATA) +EXTRA_DIST2 += $(eluaeina_files) -eluacoredir = $(datadir)/elua/core - -eluacore_DATA = \ +eluacore_files = \ scripts/elua/core/gettext.lua \ scripts/elua/core/module.lua \ scripts/elua/core/serializer.lua \ scripts/elua/core/util.lua -EXTRA_DIST2 += $(eluacore_DATA) +EXTRA_DIST2 += $(eluacore_files) +if HAVE_ELUA +eluaappsdir = $(datadir)/elua/apps +eluaapps_DATA = $(eluaapps_files) +eluamodulesdir = $(datadir)/elua/modules +eluamodules_DATA = $(eluamodules_files) +eluadocgendir = $(datadir)/elua/apps/docgen +eluadocgen_DATA = $(eluadocgen_files) +eluaeinadir = $(eluamodulesdir)/eina +eluaeina_DATA = $(eluaeina_files) +eluacoredir = $(datadir)/elua/core +eluacore_DATA = $(eluacore_files) if EFL_ENABLE_TESTS check_PROGRAMS += tests/elua/elua_suite @@ -145,6 +146,5 @@ tests_elua_elua_suite_DEPENDENCIES = @USE_ELUA_INTERNAL_LIBS@ endif -EXTRA_DIST2 += tests/elua/data/apps/test.lua - endif +EXTRA_DIST2 += tests/elua/data/apps/test.lua diff --git a/src/Makefile_Elua_Helper.am b/src/Makefile_Elua_Helper.am index a204e259fa..fa8782af4b 100644 --- a/src/Makefile_Elua_Helper.am +++ b/src/Makefile_Elua_Helper.am @@ -3,6 +3,7 @@ ELUA_GEN = @elua_bin@ lualian _ELUA_GEN_DEP = @elua_bin@ else ELUA_GEN = ELUA_EOLIAN_LIBRARY_PATH=$(top_builddir)/src/lib/eolian/.libs \ + ELUA_EINA_LIBRARY_PATH=$(top_builddir)/src/lib/eina/.libs \ $(top_builddir)/src/bin/elua/elua${EXEEXT} \ -I$(ELUA_BINDINGS_DIR) -C$(ELUA_CORE_DIR) -M$(ELUA_MODULES_DIR) \ -A$(ELUA_APPS_DIR) lualian diff --git a/src/Makefile_Embryo.am b/src/Makefile_Embryo.am index c31fb10f1e..f5e187c8f2 100644 --- a/src/Makefile_Embryo.am +++ b/src/Makefile_Embryo.am @@ -44,12 +44,15 @@ bin/embryo/embryo_cc_scexpand.c \ bin/embryo/embryo_cc_sclist.c \ bin/embryo/embryo_cc_scvars.c \ bin/embryo/embryo_cc_prefix.c \ -bin/embryo/embryo_cc_prefix.h +bin/embryo/embryo_cc_prefix.h \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c bin_embryo_embryo_cc_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/embryo\" \ +-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ -DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @EMBRYO_CFLAGS@ diff --git a/src/Makefile_Emotion.am b/src/Makefile_Emotion.am index 8c31f41c62..c1dcd7beba 100644 --- a/src/Makefile_Emotion.am +++ b/src/Makefile_Emotion.am @@ -36,13 +36,16 @@ lib/emotion/emotion_private.h \ lib/emotion/emotion_smart.c \ lib/emotion/emotion_webcam.c \ lib/emotion/emotion_modules.c \ -lib/emotion/emotion_main.c +lib/emotion/emotion_main.c \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c lib_emotion_libemotion_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/emotion\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @EMOTION_CFLAGS@ lib_emotion_libemotion_la_LIBADD = @EMOTION_LIBS@ lib_emotion_libemotion_la_DEPENDENCIES = @EMOTION_INTERNAL_LIBS@ diff --git a/src/Makefile_Eo.am b/src/Makefile_Eo.am index 438fbf222a..7d318d2a5d 100644 --- a/src/Makefile_Eo.am +++ b/src/Makefile_Eo.am @@ -18,7 +18,7 @@ lib_LTLIBRARIES += lib/eo/libeo.la \ lib/eo/libeo_dbg.la installed_eomainheadersdir = $(includedir)/eo-@VMAJ@ -dist_installed_eomainheaders_DATA = lib/eo/Eo.h lib/eo/efl_future.h +dist_installed_eomainheaders_DATA = lib/eo/Eo.h nodist_installed_eomainheaders_DATA = \ $(eo_eolian_h) @@ -31,8 +31,8 @@ lib/eo/eo_base_class.c \ lib/eo/eo_class_class.c \ lib/eo/eo_add_fallback.c \ lib/eo/eo_add_fallback.h \ -lib/eo/eo_private.h \ -lib/eo/efl_future.c +lib/eo/eo_internal.h \ +lib/eo/eo_private.h lib_eo_libeo_la_CPPFLAGS = \ -I$(top_builddir)/src/lib/efl \ @@ -148,12 +148,14 @@ tests/eo/suite/eo_test_general.c \ tests/eo/suite/eo_test_value.c \ tests/eo/suite/eo_test_event.c \ tests/eo/suite/eo_test_threaded_calls.c \ -tests/eo/suite/eo_test_init.c +tests/eo/suite/eo_test_init.c \ +tests/eo/suite/eo_test_lifecycle.c tests_eo_eo_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eo\" \ @CHECK_CFLAGS@ \ -@EO_CFLAGS@ +@EO_CFLAGS@ \ +@VALGRIND_CFLAGS@ tests_eo_eo_suite_LDADD = @CHECK_LIBS@ @USE_EO_LIBS@ tests_eo_eo_suite_DEPENDENCIES = @USE_EO_INTERNAL_LIBS@ diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am index cd3f824171..2b84287140 100644 --- a/src/Makefile_Eolian.am +++ b/src/Makefile_Eolian.am @@ -35,7 +35,8 @@ lib_eolian_libeolian_la_SOURCES = \ lib/eolian/database_expr_api.c \ lib/eolian/database_var.c \ lib/eolian/database_var_api.c \ - lib/eolian/database_validate.c + lib/eolian/database_validate.c \ + lib/eolian/database_check.c lib_eolian_libeolian_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EOLIAN_CFLAGS@ \ -DPACKAGE_DATA_DIR=\"$(datadir)/eolian\" @@ -113,6 +114,7 @@ tests/eolian/eolian_suite tests_eolian_eolian_suite_SOURCES = \ tests/eolian/eolian_parsing.c \ +tests/eolian/eolian_static.c \ tests/eolian/eolian_generation.c \ tests/eolian/eolian_generated_future.c \ tests/eolian/eolian_suite.c \ @@ -125,6 +127,7 @@ CLEANFILES += tests/eolian/generated_future.eo.h tests/eolian/generated_future.e tests_eolian_eolian_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_builddir)/src/tests/eolian \ -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian\" \ -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eolian\" \ +-DEO_SRC_DIR=\"$(top_srcdir)/src/lib\" \ -DEOLIAN_GEN="\"$(EOLIAN_GEN)\"" \ @CHECK_CFLAGS@ \ @EOLIAN_CFLAGS@ @EO_CFLAGS@ @@ -139,10 +142,11 @@ endif EXTRA_DIST2 += \ tests/eolian/data/object_impl_ref.c \ tests/eolian/data/object_impl_add_ref.c \ -tests/eolian/data/typedef_ref.c \ -tests/eolian/data/typedef_ref_stub.c \ -tests/eolian/data/struct_ref.c \ -tests/eolian/data/struct_ref_stub.c \ +tests/eolian/data/typedef_ref.h \ +tests/eolian/data/typedef_ref_stub.h \ +tests/eolian/data/struct_ref.h \ +tests/eolian/data/struct_ref_stub.h \ +tests/eolian/data/owning.eo.c \ tests/eolian/data/class_simple_ref.c \ tests/eolian/data/override_ref.c \ tests/eolian/data/class_simple_ref_eo.h \ diff --git a/src/Makefile_Eolian_Cxx.am b/src/Makefile_Eolian_Cxx.am index d920936f37..405adb4eaa 100644 --- a/src/Makefile_Eolian_Cxx.am +++ b/src/Makefile_Eolian_Cxx.am @@ -13,6 +13,7 @@ lib/eolian_cxx/grammar/attribute_conditional.hpp \ lib/eolian_cxx/grammar/attribute_reorder.hpp \ lib/eolian_cxx/grammar/attribute_replace.hpp \ lib/eolian_cxx/grammar/attributes.hpp \ +lib/eolian_cxx/grammar/blacklist.hpp \ lib/eolian_cxx/grammar/base_class_definition.hpp \ lib/eolian_cxx/grammar/case.hpp \ lib/eolian_cxx/grammar/class_declaration.hpp \ @@ -29,6 +30,7 @@ lib/eolian_cxx/grammar/generator.hpp \ lib/eolian_cxx/grammar/header_guards.hpp \ lib/eolian_cxx/grammar/header.hpp \ lib/eolian_cxx/grammar/header_include_directive.hpp \ +lib/eolian_cxx/grammar/html_escaped_string.hpp \ lib/eolian_cxx/grammar/implementation_include_directive.hpp \ lib/eolian_cxx/grammar/impl_header.hpp \ lib/eolian_cxx/grammar/indentation.hpp \ @@ -187,6 +189,7 @@ endif EXTRA_DIST2 += \ tests/eolian_cxx/simple.eo \ tests/eolian_cxx/generic.eo \ +tests/eolian_cxx/docs.eo \ tests/eolian_cxx/a.eo \ tests/eolian_cxx/b.eo \ tests/eolian_cxx/c.eo \ diff --git a/src/Makefile_Eolian_Js.am b/src/Makefile_Eolian_Js.am index b0e64de6da..834ea8fd01 100644 --- a/src/Makefile_Eolian_Js.am +++ b/src/Makefile_Eolian_Js.am @@ -21,6 +21,9 @@ bin_eolian_js_eolian_js_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ bin_eolian_js_eolian_js_LDADD = @USE_EO_LIBS@ @USE_EOLIAN_LIBS@ bin_eolian_js_eolian_js_DEPENDENCIES = @USE_EO_INTERNAL_LIBS@ @USE_EOLIAN_INTERNAL_LIBS@ +# generate C++ bindings before compiling C++ files for JS binding +bin/eolian_js/bin_eolian_js_eolian_js-main.$(OBJEXT): $(efl_eolian_cxx_hh) $(efl_eolian_cxx_impl_hh) + include Makefile_Eolian_Js_Helper.am ### Unit tests diff --git a/src/Makefile_Ethumb.am b/src/Makefile_Ethumb.am index a73e7a9a0f..7e3897447f 100644 --- a/src/Makefile_Ethumb.am +++ b/src/Makefile_Ethumb.am @@ -12,13 +12,16 @@ lib/ethumb/Ethumb_Plugin.h \ lib/ethumb/ethumb_private.h \ lib/ethumb/md5.h \ lib/ethumb/ethumb.c \ -lib/ethumb/md5.c +lib/ethumb/md5.c \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c lib_ethumb_libethumb_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/ethumb\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @ETHUMB_CFLAGS@ lib_ethumb_libethumb_la_LIBADD = @ETHUMB_LIBS@ lib_ethumb_libethumb_la_DEPENDENCIES = @ETHUMB_INTERNAL_LIBS@ diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index cf8a6606a3..deab83005d 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -3,10 +3,11 @@ evas_canvas_eolian_pub_files = \ lib/evas/canvas/efl_canvas_object.eo \ - lib/evas/canvas/efl_canvas_object_event_grabber.eo \ + lib/evas/canvas/efl_canvas_event_grabber.eo \ lib/evas/canvas/efl_canvas_polygon.eo \ lib/evas/canvas/efl_canvas_rectangle.eo \ lib/evas/canvas/efl_canvas_text.eo \ + lib/evas/canvas/efl_canvas_text_factory.eo \ lib/evas/canvas/efl_canvas_group.eo \ lib/evas/canvas/efl_canvas_image_internal.eo \ lib/evas/canvas/evas_canvas3d_camera.eo\ @@ -18,13 +19,13 @@ evas_canvas_eolian_pub_files = \ lib/evas/canvas/evas_canvas3d_node.eo\ lib/evas/canvas/evas_canvas3d_scene.eo\ lib/evas/canvas/evas_canvas3d_object.eo \ - lib/evas/canvas/efl_canvas_vg.eo \ - lib/evas/canvas/efl_vg.eo \ - lib/evas/canvas/efl_vg_container.eo \ - lib/evas/canvas/efl_vg_shape.eo \ - lib/evas/canvas/efl_vg_gradient.eo \ - lib/evas/canvas/efl_vg_gradient_radial.eo \ - lib/evas/canvas/efl_vg_gradient_linear.eo \ + lib/evas/canvas/efl_canvas_vg_object.eo \ + lib/evas/canvas/efl_canvas_vg_node.eo \ + lib/evas/canvas/efl_canvas_vg_container.eo \ + lib/evas/canvas/efl_canvas_vg_shape.eo \ + lib/evas/canvas/efl_canvas_vg_gradient.eo \ + lib/evas/canvas/efl_canvas_vg_gradient_radial.eo \ + lib/evas/canvas/efl_canvas_vg_gradient_linear.eo \ lib/evas/canvas/efl_canvas_image.eo \ lib/evas/canvas/efl_canvas_snapshot.eo \ lib/evas/canvas/efl_canvas_proxy.eo \ @@ -42,31 +43,24 @@ evas_canvas_eolian_pub_files = \ lib/evas/canvas/efl_input_hold.eo \ lib/evas/canvas/efl_input_focus.eo \ lib/evas/canvas/efl_gfx_map.eo \ - lib/evas/canvas/efl_animation.eo \ - lib/evas/canvas/efl_animation_alpha.eo \ - lib/evas/canvas/efl_animation_rotate.eo \ - lib/evas/canvas/efl_animation_scale.eo \ - lib/evas/canvas/efl_animation_translate.eo \ - lib/evas/canvas/efl_animation_group.eo \ - lib/evas/canvas/efl_animation_group_parallel.eo \ - lib/evas/canvas/efl_animation_group_sequential.eo \ - lib/evas/canvas/efl_animation_object.eo \ - lib/evas/canvas/efl_animation_object_alpha.eo \ - lib/evas/canvas/efl_animation_object_rotate.eo \ - lib/evas/canvas/efl_animation_object_scale.eo \ - lib/evas/canvas/efl_animation_object_translate.eo \ - lib/evas/canvas/efl_animation_object_group.eo \ - lib/evas/canvas/efl_animation_object_group_parallel.eo \ - lib/evas/canvas/efl_animation_object_group_sequential.eo \ + lib/evas/canvas/efl_canvas_animation.eo \ + lib/evas/canvas/efl_canvas_animation_alpha.eo \ + lib/evas/canvas/efl_canvas_animation_rotate.eo \ + lib/evas/canvas/efl_canvas_animation_scale.eo \ + lib/evas/canvas/efl_canvas_animation_translate.eo \ + lib/evas/canvas/efl_canvas_animation_group.eo \ + lib/evas/canvas/efl_canvas_animation_group_parallel.eo \ + lib/evas/canvas/efl_canvas_animation_group_sequential.eo \ + lib/evas/canvas/efl_canvas_animation_player.eo \ $(NULL) evas_gesture_eolian_pub_files = \ - lib/evas/gesture/efl_gesture_touch.eo \ - lib/evas/gesture/efl_gesture.eo \ - lib/evas/gesture/efl_gesture_tap.eo \ - lib/evas/gesture/efl_gesture_long_tap.eo \ - lib/evas/gesture/efl_gesture_recognizer.eo \ - lib/evas/gesture/efl_gesture_manager.eo \ + lib/evas/gesture/efl_canvas_gesture_touch.eo \ + lib/evas/gesture/efl_canvas_gesture.eo \ + lib/evas/gesture/efl_canvas_gesture_tap.eo \ + lib/evas/gesture/efl_canvas_gesture_long_tap.eo \ + lib/evas/gesture/efl_canvas_gesture_recognizer.eo \ + lib/evas/gesture/efl_canvas_gesture_manager.eo \ $(NULL) evas_eolian_legacy_files = \ @@ -84,15 +78,15 @@ evas_canvas_eolian_priv_files = \ lib/evas/include/evas_ector_buffer.eo evas_gesture_eolian_priv_files = \ - lib/evas/gesture/efl_gesture_recognizer_tap.eo \ - lib/evas/gesture/efl_gesture_recognizer_long_tap.eo + lib/evas/gesture/efl_canvas_gesture_recognizer_tap.eo \ + lib/evas/gesture/efl_canvas_gesture_recognizer_long_tap.eo evas_canvas_eolian_type_files = \ lib/evas/canvas/evas_canvas3d_types.eot \ - lib/evas/canvas/efl_animation_types.eot + lib/evas/canvas/efl_canvas_animation_types.eot evas_gesture_eolian_type_files = \ - lib/evas/gesture/efl_gesture_types.eot + lib/evas/gesture/efl_canvas_gesture_types.eot evas_canvas_eolian_priv_c = $(evas_canvas_eolian_priv_files:%.eo=%.eo.c) evas_canvas_eolian_priv_h = $(evas_canvas_eolian_priv_files:%.eo=%.eo.h) \ @@ -178,23 +172,17 @@ lib/evas/canvas/evas_image_private.h \ lib/evas/canvas/evas_polygon_private.h \ lib/evas/canvas/efl_canvas_surface.h \ lib/evas/common3d/primitives/primitive_common.h \ -lib/evas/canvas/efl_animation_private.h \ -lib/evas/canvas/efl_animation_alpha_private.h \ -lib/evas/canvas/efl_animation_rotate_private.h \ -lib/evas/canvas/efl_animation_scale_private.h \ -lib/evas/canvas/efl_animation_translate_private.h \ -lib/evas/canvas/efl_animation_group_private.h \ -lib/evas/canvas/efl_animation_group_parallel_private.h \ -lib/evas/canvas/efl_animation_group_sequential_private.h \ -lib/evas/canvas/efl_animation_object_private.h \ -lib/evas/canvas/efl_animation_object_alpha_private.h \ -lib/evas/canvas/efl_animation_object_rotate_private.h \ -lib/evas/canvas/efl_animation_object_scale_private.h \ -lib/evas/canvas/efl_animation_object_translate_private.h \ -lib/evas/canvas/efl_animation_object_group_private.h \ -lib/evas/canvas/efl_animation_object_group_parallel_private.h \ -lib/evas/canvas/efl_animation_object_group_sequential_private.h \ -lib/evas/gesture/efl_gesture_private.h +lib/evas/canvas/efl_canvas_animation_private.h \ +lib/evas/canvas/efl_canvas_animation_alpha_private.h \ +lib/evas/canvas/efl_canvas_animation_rotate_private.h \ +lib/evas/canvas/efl_canvas_animation_scale_private.h \ +lib/evas/canvas/efl_canvas_animation_translate_private.h \ +lib/evas/canvas/efl_canvas_animation_group_private.h \ +lib/evas/canvas/efl_canvas_animation_group_parallel_private.h \ +lib/evas/canvas/efl_canvas_animation_group_sequential_private.h \ +lib/evas/canvas/efl_canvas_animation_player_private.h \ +lib/evas/canvas/evas_stack.x \ +lib/evas/gesture/efl_canvas_gesture_private.h # Linebreak @@ -257,7 +245,6 @@ lib/evas/canvas/evas_render.c \ lib/evas/canvas/render2/evas_render2.c \ lib/evas/canvas/render2/evas_render2.h \ lib/evas/canvas/evas_smart.c \ -lib/evas/canvas/evas_stack.c \ lib/evas/canvas/evas_async_events.c \ lib/evas/canvas/evas_stats.c \ lib/evas/canvas/evas_touch_point.c \ @@ -266,7 +253,7 @@ lib/evas/canvas/evas_map.h \ lib/evas/canvas/evas_gl.c \ lib/evas/canvas/evas_out.c \ lib/evas/canvas/efl_canvas_image.c \ -lib/evas/canvas/efl_canvas_object_event_grabber.c \ +lib/evas/canvas/efl_canvas_event_grabber.c \ lib/evas/canvas/efl_canvas_proxy.c \ lib/evas/canvas/efl_canvas_snapshot.c \ lib/evas/canvas/efl_canvas_scene3d.c \ @@ -280,30 +267,23 @@ lib/evas/canvas/efl_input_key.c \ lib/evas/canvas/efl_input_pointer.c \ lib/evas/canvas/efl_input_hold.c \ lib/evas/canvas/efl_input_focus.c \ -lib/evas/canvas/efl_animation.c \ -lib/evas/canvas/efl_animation_alpha.c \ -lib/evas/canvas/efl_animation_rotate.c \ -lib/evas/canvas/efl_animation_scale.c \ -lib/evas/canvas/efl_animation_translate.c \ -lib/evas/canvas/efl_animation_group.c \ -lib/evas/canvas/efl_animation_group_parallel.c \ -lib/evas/canvas/efl_animation_group_sequential.c \ -lib/evas/canvas/efl_animation_object.c \ -lib/evas/canvas/efl_animation_object_alpha.c \ -lib/evas/canvas/efl_animation_object_rotate.c \ -lib/evas/canvas/efl_animation_object_scale.c \ -lib/evas/canvas/efl_animation_object_translate.c \ -lib/evas/canvas/efl_animation_object_group.c \ -lib/evas/canvas/efl_animation_object_group_parallel.c \ -lib/evas/canvas/efl_animation_object_group_sequential.c \ -lib/evas/gesture/efl_gesture_touch.c \ -lib/evas/gesture/efl_gesture.c \ -lib/evas/gesture/efl_gesture_tap.c \ -lib/evas/gesture/efl_gesture_long_tap.c \ -lib/evas/gesture/efl_gesture_recognizer.c \ -lib/evas/gesture/efl_gesture_recognizer_tap.c \ -lib/evas/gesture/efl_gesture_recognizer_long_tap.c \ -lib/evas/gesture/efl_gesture_manager.c \ +lib/evas/canvas/efl_canvas_animation.c \ +lib/evas/canvas/efl_canvas_animation_alpha.c \ +lib/evas/canvas/efl_canvas_animation_rotate.c \ +lib/evas/canvas/efl_canvas_animation_scale.c \ +lib/evas/canvas/efl_canvas_animation_translate.c \ +lib/evas/canvas/efl_canvas_animation_group.c \ +lib/evas/canvas/efl_canvas_animation_group_parallel.c \ +lib/evas/canvas/efl_canvas_animation_group_sequential.c \ +lib/evas/canvas/efl_canvas_animation_player.c \ +lib/evas/gesture/efl_canvas_gesture_touch.c \ +lib/evas/gesture/efl_canvas_gesture.c \ +lib/evas/gesture/efl_canvas_gesture_tap.c \ +lib/evas/gesture/efl_canvas_gesture_long_tap.c \ +lib/evas/gesture/efl_canvas_gesture_recognizer.c \ +lib/evas/gesture/efl_canvas_gesture_recognizer_tap.c \ +lib/evas/gesture/efl_canvas_gesture_recognizer_long_tap.c \ +lib/evas/gesture/efl_canvas_gesture_manager.c \ $(NULL) EXTRA_DIST2 += \ @@ -345,7 +325,9 @@ lib_evas_file_SOURCES = \ lib/evas/file/evas_module.c \ lib/evas/file/evas_module.h \ lib/evas/file/evas_path.c \ -lib/evas/file/evas_path.h +lib/evas/file/evas_path.h \ +static_libs/buildsystem/buildsystem.h \ +static_libs/buildsystem/buildsystem_autotools.c lib_evas_libevas_la_SOURCES += \ $(lib_evas_file_SOURCES) @@ -395,7 +377,7 @@ lib/evas/common3d/primitives/primitive_common.c # Evas_VG lib_evas_libevas_la_SOURCES += \ -lib/evas/canvas/efl_canvas_vg.c \ +lib/evas/canvas/efl_canvas_vg_object.c \ lib/evas/canvas/evas_vg_node.c \ lib/evas/canvas/evas_vg_container.c \ lib/evas/canvas/evas_vg_gradient.c \ @@ -518,6 +500,7 @@ lib_evas_libevas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/evas\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ @EVAS_CFLAGS@ \ @VALGRIND_CFLAGS@ \ @NEON_CFLAGS@ \ @@ -1566,6 +1549,7 @@ bin_evas_evas_cserve2_slave_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_DATA_DIR=\"$(datadir)/evas\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ +-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ -DEVAS_MODULE_NO_ENGINES=1 \ -DEVAS_MODULE_NO_IMAGE_SAVERS=1 \ -DEVAS_MODULE_NO_VG_LOADERS=1 \ @@ -2450,6 +2434,7 @@ TESTS += tests/evas/evas_suite tests_evas_evas_suite_SOURCES = \ tests/evas/evas_suite.c \ tests/evas/evas_test_init.c \ +tests/evas/evas_test_new.c \ tests/evas/evas_test_object.c \ tests/evas/evas_test_object_smart.c \ tests/evas/evas_test_textblock.c \ @@ -2540,7 +2525,9 @@ tests/evas/images/bg_gray.png \ tests/evas/images/flower.jp2 \ tests/evas/images/flower.jp2.png \ tests/evas/images/train.j2k \ -tests/evas/images/train.j2k.png +tests/evas/images/train.j2k.png \ +tests/evas/dicts/hyph_en_US.dic \ +tests/evas/dicts/hyph_de_DE.dic if HAVE_ELUA diff --git a/src/Makefile_Evil.am b/src/Makefile_Evil.am index 6ec4b5113c..7fbe99c79d 100644 --- a/src/Makefile_Evil.am +++ b/src/Makefile_Evil.am @@ -21,7 +21,6 @@ lib/evil/evil_string.h \ lib/evil/evil_time.h \ lib/evil/evil_unistd.h \ lib/evil/evil_util.h \ -lib/evil/dirent.h \ lib/evil/fnmatch.h \ lib/evil/pwd.h @@ -30,14 +29,12 @@ dist_evilmmanheaders_DATA = \ lib/evil/sys/mman.h lib_evil_libevil_la_SOURCES = \ -lib/evil/evil_dirent.c \ lib/evil/evil_dlfcn.c \ lib/evil/evil_fcntl.c \ lib/evil/evil_fnmatch.c \ lib/evil/evil_fnmatch_list_of_states.c \ lib/evil/evil_langinfo.c \ lib/evil/evil_locale.c \ -lib/evil/evil_link_xp.cpp \ lib/evil/evil_main.c \ lib/evil/evil_mman.c \ lib/evil/evil_pwd.c \ @@ -52,7 +49,6 @@ lib/evil/evil_fnmatch_private.h lib_evil_libevil_la_CPPFLAGS = @EVIL_CPPFLAGS@ lib_evil_libevil_la_CFLAGS = @EVIL_CFLAGS@ @EVIL_CFLAGS_WRN@ -D__USE_MINGW_ANSI_STDIO -lib_evil_libevil_la_CXXFLAGS = @EVIL_CXXFLAGS@ @EVIL_CFLAGS@ lib_evil_libevil_la_LIBADD = @EVIL_LIBS@ lib_evil_libevil_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@ @@ -76,40 +72,6 @@ lib_evil_libevil_la_CPPFLAGS += \ -I$(top_srcdir)/src/lib/evil/regex \ -DPOSIX_MISTAKE -### Binary - -bin_PROGRAMS += bin/evil/evil_suite bin/evil/test_evil - -bin_evil_evil_suite_SOURCES = \ -bin/evil/evil_suite.c \ -bin/evil/evil_test_dlfcn.c \ -bin/evil/evil_test_environment.c \ -bin/evil/evil_test_gettimeofday.c \ -bin/evil/evil_test_link.c \ -bin/evil/evil_test_mkstemp.c \ -bin/evil/evil_test_pipe.c \ -bin/evil/evil_test_print.c \ -bin/evil/evil_test_realpath.c \ -bin/evil/evil_test_util.c \ -bin/evil/evil_suite.h \ -bin/evil/evil_test_dlfcn.h \ -bin/evil/evil_test_environment.h \ -bin/evil/evil_test_gettimeofday.h \ -bin/evil/evil_test_link.h \ -bin/evil/evil_test_mkstemp.h \ -bin/evil/evil_test_pipe.h \ -bin/evil/evil_test_print.h \ -bin/evil/evil_test_realpath.h \ -bin/evil/evil_test_util.h - -bin_evil_evil_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EVIL_CFLAGS@ -bin_evil_evil_suite_LDADD = @USE_EVIL_LIBS@ -lm -bin_evil_evil_suite_DEPENDENCIES = @USE_EVIL_INTERNAL_LIBS@ - -bin_evil_test_evil_SOURCES = bin/evil/test_evil.c -bin_evil_test_evil_LDADD = @USE_EVIL_LIBS@ -bin_evil_test_evil_DEPENDENCIES = @USE_EVIL_INTERNAL_LIBS@ - ### Unit tests if EFL_ENABLE_TESTS @@ -124,13 +86,14 @@ tests/evil/evil_test_dlfcn.c \ tests/evil/evil_test_libgen.c \ tests/evil/evil_test_main.c \ tests/evil/evil_test_stdio.c \ -tests/evil/evil_test_stdlib.c +tests/evil/evil_test_stdlib.c \ +tests/evil/evil_test_unistd.c tests_evil_evil_suite_CPPFLAGS = \ -I$(top_builddir)/src/lib/efl \ -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/evil\" \ --DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/evil\" \ --DTESTS_BUILD_DIR=PACKAGE_BUILD_DIR \ +-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/\" \ +-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/evil\" \ @CHECK_CFLAGS@ \ @EVIL_CFLAGS@ tests_evil_evil_suite_LDADD = @USE_EVIL_LIBS@ @CHECK_LIBS@ diff --git a/src/Makefile_efl_wl.am b/src/Makefile_efl_wl.am index ac3c00db69..d90002e17b 100644 --- a/src/Makefile_efl_wl.am +++ b/src/Makefile_efl_wl.am @@ -14,8 +14,8 @@ lib/efl_wl/dmabuf.h nodist_lib_efl_wl_libefl_wl_la_SOURCES = \ lib/efl_wl/linux-dmabuf-unstable-v1-protocol.c \ lib/efl_wl/linux-dmabuf-unstable-v1-server-protocol.h \ -lib/efl_wl/xdg-shell-unstable-v6-protocol.c \ -lib/efl_wl/xdg-shell-unstable-v6-server-protocol.h \ +lib/efl_wl/xdg-shell-protocol.c \ +lib/efl_wl/xdg-shell-server-protocol.h \ lib/efl_wl/efl-hints-protocol.c \ lib/efl_wl/efl-hints-server-protocol.h diff --git a/src/benchmarks/eina/Ecore_Data.h b/src/benchmarks/eina/Ecore_Data.h index e2ea607d16..6641eff267 100644 --- a/src/benchmarks/eina/Ecore_Data.h +++ b/src/benchmarks/eina/Ecore_Data.h @@ -10,15 +10,15 @@ #endif #ifdef _WIN32 -# ifdef EFL_ECORE_BUILD +# ifdef EFL_BUILD # ifdef DLL_EXPORT # define EAPI __declspec(dllexport) # else # define EAPI -# endif /* ! DLL_EXPORT */ +# endif # else # define EAPI __declspec(dllimport) -# endif /* ! EFL_ECORE_BUILD */ +# endif #else # ifdef __GNUC__ # if __GNUC__ >= 4 @@ -29,7 +29,7 @@ # else # define EAPI # endif -#endif /* ! _WIN32 */ +#endif /** * @file Ecore_Data.h diff --git a/src/benchmarks/eina/Evas_Data.h b/src/benchmarks/eina/Evas_Data.h index 97848927b0..2c07402b65 100644 --- a/src/benchmarks/eina/Evas_Data.h +++ b/src/benchmarks/eina/Evas_Data.h @@ -6,15 +6,15 @@ #endif #ifdef _WIN32 -# ifdef EFL_EVAS_BUILD +# ifdef EFL_BUILD # ifdef DLL_EXPORT # define EAPI __declspec(dllexport) # else # define EAPI -# endif /* ! DLL_EXPORT */ +# endif # else # define EAPI __declspec(dllimport) -# endif /* ! EFL_EVAS_BUILD */ +# endif #else # ifdef __GNUC__ # if __GNUC__ >= 4 @@ -25,7 +25,7 @@ # else # define EAPI # endif -#endif /* ! _WIN32 */ +#endif /** * @file diff --git a/src/benchmarks/eo/eo_bench_callbacks.c b/src/benchmarks/eo/eo_bench_callbacks.c index 7fd145c31a..7168dabfe0 100644 --- a/src/benchmarks/eo/eo_bench_callbacks.c +++ b/src/benchmarks/eo/eo_bench_callbacks.c @@ -16,7 +16,7 @@ static void bench_eo_callbacks_add(int request) { int i; - Eo *obj = efl_add(SIMPLE_CLASS, NULL); + Eo *obj = efl_add_ref(SIMPLE_CLASS, NULL); for (i = 0 ; i < request ; i++) { @@ -52,7 +52,7 @@ bench_eo_callbacks_call(int request) Eo *obj[len]; for (i = 0 ; i < len ; i++) { - obj[i] = efl_add(SIMPLE_CLASS, NULL); + obj[i] = efl_add_ref(SIMPLE_CLASS, NULL); for (j = 0 ; j < i ; j++) { diff --git a/src/benchmarks/eo/eo_bench_eo_add.c b/src/benchmarks/eo/eo_bench_eo_add.c index 7bd10d8109..963cd3abb9 100644 --- a/src/benchmarks/eo/eo_bench_eo_add.c +++ b/src/benchmarks/eo/eo_bench_eo_add.c @@ -12,7 +12,7 @@ bench_efl_add_linear(int request) int i; Eo **objs = calloc(request, sizeof(Eo *)); for (i = 0 ; i < request ; i++) - objs[i] = efl_add(SIMPLE_CLASS, NULL); + objs[i] = efl_add_ref(SIMPLE_CLASS, NULL); for (i = 0 ; i < request ; i++) efl_unref(objs[i]); @@ -25,13 +25,13 @@ bench_efl_add_jump_by_2(int request) int i; Eo **objs = calloc(request, sizeof(Eo *)); for (i = 0 ; i < request ; i++) - objs[i] = efl_add(SIMPLE_CLASS, NULL); + objs[i] = efl_add_ref(SIMPLE_CLASS, NULL); for (i = 0 ; i < request ; i += 2) efl_unref(objs[i]); for (i = 0 ; i < request ; i += 2) - objs[i] = efl_add(SIMPLE_CLASS, NULL); + objs[i] = efl_add_ref(SIMPLE_CLASS, NULL); for (i = 0 ; i < request ; i++) efl_unref(objs[i]); diff --git a/src/benchmarks/eo/eo_bench_eo_do.c b/src/benchmarks/eo/eo_bench_eo_do.c index ec69bf3145..2783b91b3c 100644 --- a/src/benchmarks/eo/eo_bench_eo_do.c +++ b/src/benchmarks/eo/eo_bench_eo_do.c @@ -10,7 +10,7 @@ static void bench_eo_do_simple(int request) { int i; - Eo *obj = efl_add(SIMPLE_CLASS, NULL); + Eo *obj = efl_add_ref(SIMPLE_CLASS, NULL); for (i = 0 ; i < request ; i++) { simple_a_set(obj, i); @@ -23,8 +23,8 @@ static void bench_eo_do_two_objs(int request) { int i; - Eo *obj = efl_add(SIMPLE_CLASS, NULL); - Eo *obj2 = efl_add(SIMPLE_CLASS, NULL); + Eo *obj = efl_add_ref(SIMPLE_CLASS, NULL); + Eo *obj2 = efl_add_ref(SIMPLE_CLASS, NULL); for (i = 0 ; i < request ; i++) { simple_a_set(obj, i); @@ -39,8 +39,8 @@ static void bench_eo_do_two_objs_growing_stack(int request) { int i; - Eo *obj = efl_add(SIMPLE_CLASS, NULL); - Eo *obj2 = efl_add(SIMPLE_CLASS, NULL); + Eo *obj = efl_add_ref(SIMPLE_CLASS, NULL); + Eo *obj2 = efl_add_ref(SIMPLE_CLASS, NULL); for (i = 0 ; i < request ; i++) { simple_other_call(obj, obj2, 20); @@ -83,7 +83,7 @@ bench_eo_do_super(int request) cur_klass = efl_class_new(&class_desc, SIMPLE_CLASS, NULL); int i; - Eo *obj = efl_add(cur_klass, NULL); + Eo *obj = efl_add_ref(cur_klass, NULL); for (i = 0 ; i < request ; i++) { simple_a_set(obj, i); diff --git a/src/bin/edje/edje_cc.c b/src/bin/edje/edje_cc.c index 64c1e6df18..1551032bc3 100644 --- a/src/bin/edje/edje_cc.c +++ b/src/bin/edje/edje_cc.c @@ -6,12 +6,17 @@ #include #include #include +#include + +#ifdef HAVE_SYS_RESOURCE_H +# include +#endif #include "edje_cc.h" int _edje_cc_log_dom = -1; static void main_help(void); -Eina_Prefix *pfx = NULL; +Eina_Prefix *pfx = NULL; Eina_List *snd_dirs = NULL; Eina_List *mo_dirs = NULL; Eina_List *vibration_dirs = NULL; @@ -20,29 +25,33 @@ Eina_List *model_dirs = NULL; Eina_List *fnt_dirs = NULL; Eina_List *data_dirs = NULL; Eina_List *defines = NULL; -char *file_in = NULL; -char *tmp_dir = NULL; -char *file_out = NULL; -char *watchfile = NULL; -char *depfile = NULL; -char *authors = NULL; -char *license = NULL; +char *file_in = NULL; +char *tmp_dir = NULL; +char *file_out = NULL; +char *watchfile = NULL; +char *depfile = NULL; +char *authors = NULL; +char *license = NULL; Eina_List *licenses = NULL; +Eina_Array *requires; static const char *progname = NULL; -int no_lossy = 0; -int no_comp = 0; -int no_raw = 0; -int no_save = 0; -int min_quality = 0; -int max_quality = 100; -int compress_mode = EET_COMPRESSION_HI; -int threads = 0; -int annotate = 0; -int no_etc1 = 0; -int no_etc2 = 0; -int beta = 0; +int no_lossy = 0; +int no_comp = 0; +int no_raw = 0; +int no_save = 0; +int min_quality = 0; +int max_quality = 100; +int compress_mode = EET_COMPRESSION_HI; +int threads = 0; +int annotate = 0; +int no_etc1 = 0; +int no_etc2 = 0; +int beta = 0; +Eina_Bool namespace_verify; + +unsigned int max_open_files; static void _edje_cc_log_cb(const Eina_Log_Domain *d, @@ -63,16 +72,19 @@ _edje_cc_log_cb(const Eina_Log_Domain *d, switch (level) { case EINA_LOG_LEVEL_CRITICAL: - prefix = "Critical. "; - break; + prefix = "Critical. "; + break; + case EINA_LOG_LEVEL_ERR: - prefix = "Error. "; - break; + prefix = "Error. "; + break; + case EINA_LOG_LEVEL_WARN: - prefix = "Warning. "; - break; + prefix = "Warning. "; + break; + default: - prefix = ""; + prefix = ""; } fprintf(stderr, "%s: %s", progname, prefix); eina_log_console_color_set(stderr, EINA_COLOR_RESET); @@ -119,8 +131,9 @@ main_help(void) "-fastdecomp Use a faster decompression algorithm (LZ4HC) (mutually exclusive with -fastcomp)\n" "-threads Compile the edje file using multiple parallel threads (by default)\n" "-nothreads Compile the edje file using only the main loop\n" + "-N Use the first segment of each group name as a namespace to verify parts/signals\n" "-V [--version] show program version\n" - ,progname); + , progname); } int @@ -135,16 +148,17 @@ main(int argc, char **argv) setlocale(LC_NUMERIC, "C"); ecore_app_no_system_modules(); + efreet_cache_disable(); if (!eina_init()) return -1; _edje_cc_log_dom = eina_log_domain_register - ("edje_cc", EDJE_CC_DEFAULT_LOG_COLOR); + ("edje_cc", EDJE_CC_DEFAULT_LOG_COLOR); if (_edje_cc_log_dom < 0) { - EINA_LOG_ERR("Enable to create a log domain."); - exit(-1); + EINA_LOG_ERR("Enable to create a log domain."); + exit(-1); } if (!eina_log_domain_level_check(_edje_cc_log_dom, EINA_LOG_LEVEL_WARN)) eina_log_domain_level_set("edje_cc", EINA_LOG_LEVEL_WARN); @@ -163,27 +177,27 @@ main(int argc, char **argv) for (i = 1; i < argc; i++) { - if (!strcmp(argv[i], "-h")) - { - main_help(); - exit(0); - } - else if ((!strcmp(argv[i], "-V")) || (!strcmp(argv[i], "--version"))) - { - printf("Version: %s\n", PACKAGE_VERSION); - exit(0); - } - else if (!strcmp(argv[i], "-v")) - { - eina_log_domain_level_set("edje_cc", EINA_LOG_LEVEL_INFO); - } - else if (!strcmp(argv[i], "-no-lossy")) - { - no_lossy = 1; - } - else if (!strcmp(argv[i], "-no-comp")) - { - no_comp = 1; + if (!strcmp(argv[i], "-h")) + { + main_help(); + exit(0); + } + else if ((!strcmp(argv[i], "-V")) || (!strcmp(argv[i], "--version"))) + { + printf("Version: %s\n", PACKAGE_VERSION); + exit(0); + } + else if (!strcmp(argv[i], "-v")) + { + eina_log_domain_level_set("edje_cc", EINA_LOG_LEVEL_INFO); + } + else if (!strcmp(argv[i], "-no-lossy")) + { + no_lossy = 1; + } + else if (!strcmp(argv[i], "-no-comp")) + { + no_comp = 1; } else if (!strcmp(argv[i], "-no-raw")) { @@ -197,25 +211,25 @@ main(int argc, char **argv) { no_etc2 = 1; } - else if (!strcmp(argv[i], "-no-save")) - { - no_save = 1; - } - else if ((!strcmp(argv[i], "-id") || !strcmp(argv[i], "--image_dir")) && (i < (argc - 1))) - { - i++; - img_dirs = eina_list_append(img_dirs, argv[i]); - } - else if ((!strcmp(argv[i], "-mod") || !strcmp(argv[i], "--model_dir")) && (i < (argc - 1))) - { - i++; - model_dirs = eina_list_append(model_dirs, argv[i]); - } - else if ((!strcmp(argv[i], "-fd") || !strcmp(argv[i], "--font_dir")) && (i < (argc - 1))) - { - i++; - fnt_dirs = eina_list_append(fnt_dirs, argv[i]); - } + else if (!strcmp(argv[i], "-no-save")) + { + no_save = 1; + } + else if ((!strcmp(argv[i], "-id") || !strcmp(argv[i], "--image_dir")) && (i < (argc - 1))) + { + i++; + img_dirs = eina_list_append(img_dirs, argv[i]); + } + else if ((!strcmp(argv[i], "-mod") || !strcmp(argv[i], "--model_dir")) && (i < (argc - 1))) + { + i++; + model_dirs = eina_list_append(model_dirs, argv[i]); + } + else if ((!strcmp(argv[i], "-fd") || !strcmp(argv[i], "--font_dir")) && (i < (argc - 1))) + { + i++; + fnt_dirs = eina_list_append(fnt_dirs, argv[i]); + } else if ((!strcmp(argv[i], "-sd") || !strcmp(argv[i], "--sound_dir")) && (i < (argc - 1))) { i++; @@ -236,12 +250,12 @@ main(int argc, char **argv) i++; data_dirs = eina_list_append(data_dirs, argv[i]); } - else if ((!strcmp(argv[i], "-td") || !strcmp(argv[i], "--tmp_dir")) && (i < (argc - 1))) - { - i++; + else if ((!strcmp(argv[i], "-td") || !strcmp(argv[i], "--tmp_dir")) && (i < (argc - 1))) + { + i++; if (!tmp_dir) tmp_dir = argv[i]; - } + } else if ((!strcmp(argv[i], "-l") || !strcmp(argv[i], "--license")) && (i < (argc - 1))) { i++; @@ -256,88 +270,92 @@ main(int argc, char **argv) if (!authors) authors = argv[i]; } - else if ((!strcmp(argv[i], "-min-quality")) && (i < (argc - 1))) - { - i++; - min_quality = atoi(argv[i]); - if (min_quality < 0) min_quality = 0; - if (min_quality > 100) min_quality = 100; - } - else if ((!strcmp(argv[i], "-max-quality")) && (i < (argc - 1))) - { - i++; - max_quality = atoi(argv[i]); - if (max_quality < 0) max_quality = 0; - if (max_quality > 100) max_quality = 100; - } - else if (!strcmp(argv[i], "-fastcomp")) - { + else if ((!strcmp(argv[i], "-min-quality")) && (i < (argc - 1))) + { + i++; + min_quality = atoi(argv[i]); + if (min_quality < 0) min_quality = 0; + if (min_quality > 100) min_quality = 100; + } + else if ((!strcmp(argv[i], "-max-quality")) && (i < (argc - 1))) + { + i++; + max_quality = atoi(argv[i]); + if (max_quality < 0) max_quality = 0; + if (max_quality > 100) max_quality = 100; + } + else if (!strcmp(argv[i], "-fastcomp")) + { compress_mode = EET_COMPRESSION_SUPERFAST; - } - else if (!strcmp(argv[i], "-fastdecomp")) - { + } + else if (!strcmp(argv[i], "-fastdecomp")) + { compress_mode = EET_COMPRESSION_VERYFAST; - } - else if (!strcmp(argv[i], "-threads")) - { + } + else if (!strcmp(argv[i], "-threads")) + { threads = 1; - } - else if (!strcmp(argv[i], "-nothreads")) - { + } + else if (!strcmp(argv[i], "-nothreads")) + { threads = 0; - } - else if (!strncmp(argv[i], "-D", 2)) - { - defines = eina_list_append(defines, mem_strdup(argv[i])); - } - else if ((!strcmp(argv[i], "-o")) && (i < (argc - 1))) - { - i++; - file_out = argv[i]; - } - else if ((!strcmp(argv[i], "-w")) && (i < (argc - 1))) - { + } + else if (!strncmp(argv[i], "-D", 2)) + { + defines = eina_list_append(defines, mem_strdup(argv[i])); + } + else if ((!strcmp(argv[i], "-o")) && (i < (argc - 1))) + { + i++; + file_out = argv[i]; + } + else if ((!strcmp(argv[i], "-w")) && (i < (argc - 1))) + { i++; watchfile = argv[i]; unlink(watchfile); - } - else if (!strcmp(argv[i], "-annotate")) - { + } + else if (!strcmp(argv[i], "-annotate")) + { annotate = 1; } - else if ((!strcmp(argv[i], "-deps")) && (i < (argc - 1))) - { - i++; - depfile = argv[i]; - unlink(depfile); - } + else if ((!strcmp(argv[i], "-deps")) && (i < (argc - 1))) + { + i++; + depfile = argv[i]; + unlink(depfile); + } else if (!strcmp(argv[i], "-beta")) { beta = 1; } - else if (!file_in) - file_in = argv[i]; - else if (!file_out) - file_out = argv[i]; + else if (!strcmp(argv[i], "-N")) + { + namespace_verify = 1; + } + else if (!file_in) + file_in = argv[i]; + else if (!file_out) + file_out = argv[i]; } if (!file_in) { - ERR("no input file specified."); - main_help(); - exit(-1); + ERR("no input file specified."); + main_help(); + exit(-1); } - pfx = eina_prefix_new(argv[0], /* argv[0] value (optional) */ - main, /* an optional symbol to check path of */ - "EDJE", /* env var prefix to use (XXX_PREFIX, XXX_BIN_DIR etc. */ - "edje", /* dir to add after "share" (PREFIX/share/DIRNAME) */ + pfx = eina_prefix_new(argv[0], /* argv[0] value (optional) */ + main, /* an optional symbol to check path of */ + "EDJE", /* env var prefix to use (XXX_PREFIX, XXX_BIN_DIR etc. */ + "edje", /* dir to add after "share" (PREFIX/share/DIRNAME) */ "include/edje.inc", /* a magic file to check for in PREFIX/share/DIRNAME for success */ PACKAGE_BIN_DIR, /* package bin dir @ compile time */ PACKAGE_LIB_DIR, /* package lib dir @ compile time */ PACKAGE_DATA_DIR, /* package data dir @ compile time */ PACKAGE_DATA_DIR /* if locale needed use LOCALE_DIR */ - ); + ); /* check whether file_in exists */ #ifdef HAVE_REALPATH @@ -346,41 +364,41 @@ main(int argc, char **argv) if (stat(file_in, &st) || !S_ISREG(st.st_mode)) #endif { - ERR("file not found: %s.", file_in); - main_help(); - exit(-1); + ERR("file not found: %s.", file_in); + main_help(); + exit(-1); } if (!file_out) - { - char *suffix; + { + char *suffix; - if ((suffix = strstr(file_in,".edc")) && (suffix[4] == 0)) - { - file_out = strdup(file_in); - if (file_out) - { - suffix = strstr(file_out,".edc"); - strcpy(suffix,".edj"); - } - } - } + if ((suffix = strstr(file_in, ".edc")) && (suffix[4] == 0)) + { + file_out = strdup(file_in); + if (file_out) + { + suffix = strstr(file_out, ".edc"); + strcpy(suffix, ".edj"); + } + } + } if (!file_out) { - ERR("no output file specified."); - main_help(); - exit(-1); + ERR("no output file specified."); + main_help(); + exit(-1); } #ifdef HAVE_REALPATH - if (realpath(file_out, rpath2) && !strcmp (rpath, rpath2)) + if (realpath(file_out, rpath2) && !strcmp(rpath, rpath2)) #else - if (!strcmp (file_in, file_out)) + if (!strcmp(file_in, file_out)) #endif { - ERR("input file equals output file."); - main_help(); - exit(-1); + ERR("input file equals output file."); + main_help(); + exit(-1); } using_file(file_in, 'E'); @@ -394,10 +412,10 @@ main(int argc, char **argv) edje_file->version = EDJE_FILE_VERSION; edje_file->minor = EDJE_FILE_MINOR; edje_file->feature_ver = 1; /* increment this every time we add a field - * or feature to the edje file format that - * does not load nicely as a NULL or 0 value - * and needs a special fallback initialization - */ + * or feature to the edje file format that + * does not load nicely as a NULL or 0 value + * and needs a special fallback initialization + */ /* efl_version is used for specify efl's version * which was used for developing a edje file. * It is useful if Edje(or other EFL libs) need to keep @@ -408,6 +426,19 @@ main(int argc, char **argv) edje_file->efl_version.major = 1; edje_file->efl_version.minor = 18; edje_file->base_scale = FROM_INT(1); + requires = eina_array_new(10); + +#ifdef HAVE_SYS_RESOURCE_H + { + struct rlimit lim; + if (getrlimit(RLIMIT_NOFILE, &lim)) + fprintf(stderr, "error getting max open file limit: %s\n", strerror(errno)); + max_open_files = lim.rlim_cur; + } +#else + max_open_files = 1024; +#endif + ecore_evas_init(); source_edd(); source_fetch(); @@ -422,10 +453,11 @@ main(int argc, char **argv) eina_prefix_free(pfx); pfx = NULL; - + edje_shutdown(); eina_log_domain_unregister(_edje_cc_log_dom); eina_shutdown(); return 0; } + diff --git a/src/bin/edje/edje_cc.h b/src/bin/edje/edje_cc.h index 55c151b02a..afb7a99c03 100644 --- a/src/bin/edje/edje_cc.h +++ b/src/bin/edje/edje_cc.h @@ -167,6 +167,7 @@ struct _Edje_Part_Collection_Parser Eina_Bool default_mouse_events; Eina_Bool inherit_only; Eina_Bool inherit_script : 1; + Eina_Bool skip_namespace_validation : 1; }; typedef enum @@ -354,4 +355,7 @@ extern int beta; extern int had_quote; +extern unsigned int max_open_files; +extern Eina_Array *requires; +extern Eina_Bool namespace_verify; #endif diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index c32609b1df..17b3ce3768 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -7,24 +7,24 @@ this means that missing one or changing the order most certainly cause formatting errors. - \@block + \@block block name - \@context + \@context code sample of the block - \@description + \@description the block's description - \@since X.X - \@endblock + \@since X.X + \@endblock - \@property + \@property property name - \@parameters + \@parameters property's parameter list - \@effect + \@effect the property description (lol) - \@since X.X - \@endproperty -*/ + \@since X.X + \@endproperty + */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -174,856 +174,889 @@ Eina_List *po_files; static Eina_Hash *desc_hash = NULL; -struct _Edje_Cc_Handlers_Hierarchy_Info -{ /* Struct that keeps globals value to impl hierarchy */ +struct _Edje_Cc_Handlers_Hierarchy_Info /* Struct that keeps globals value to impl hierarchy */ +{ Edje_Part_Collection_Directory_Entry *current_de; - Edje_Part *current_part; - Edje_Pack_Element *current_item; - Edje_Part_Description_Common *current_desc; - Edje_Part_Description_Common *parent_desc; - Edje_Program *current_program; - Edje_Part *ep; + Edje_Part *current_part; + Edje_Pack_Element *current_item; + Edje_Part_Description_Common *current_desc; + Edje_Part_Description_Common *parent_desc; + Edje_Program *current_program; + Edje_Part *ep; }; typedef struct _Edje_Cc_Handlers_Hierarchy_Info Edje_Cc_Handlers_Hierarchy_Info; static Eina_Array *part_hierarchy = NULL; /* stack parts,support nested parts */ -static void edje_cc_handlers_hierarchy_set(Edje_Part *src); +static void edje_cc_handlers_hierarchy_set(Edje_Part *src); static Edje_Part *edje_cc_handlers_hierarchy_parent_get(void); -static void edje_cc_handlers_hierarchy_push(Edje_Part *ep, Edje_Part *cp); -static void edje_cc_handlers_hierarchy_rename(Edje_Part *old, Edje_Part *new); -static void edje_cc_handlers_hierarchy_pop(void); +static void edje_cc_handlers_hierarchy_push(Edje_Part *ep, Edje_Part *cp); +static void edje_cc_handlers_hierarchy_rename(Edje_Part *old, Edje_Part *new); +static void edje_cc_handlers_hierarchy_pop(void); -static void _program_target_add(char *name); -static void _program_after(const char *name); -static void _program_free(Edje_Program *pr); -static Eina_Bool _program_remove(const char *name, Edje_Program **pgrms, unsigned int count); +static void _program_target_add(char *name); +static void _program_after(const char *name); +static void _program_free(Edje_Program *pr); +static Eina_Bool _program_remove(const char *name, Edje_Program **pgrms, unsigned int count); -static void * _part_free(Edje_Part_Collection *pc, Edje_Part *ep); +static void *_part_free(Edje_Part_Collection *pc, Edje_Part *ep); -static void check_has_anchors(void); +static void check_has_anchors(void); -static void st_efl_version(void); -static void st_externals_external(void); +static void st_id(void); +static void st_requires(void); +static void st_efl_version(void); +static void st_externals_external(void); -static void st_images_image(void); -static void ob_images_set(void); -static void st_images_set_name(void); -static void ob_images_set_image(void); -static void st_images_set_image_image(void); -static void st_images_set_image_size(void); -static void st_images_set_image_border(void); -static void st_images_set_image_border_scale_by(void); +static void st_images_image(void); +static void ob_images_set(void); +static void st_images_set_name(void); +static void ob_images_set_image(void); +static void st_images_set_image_image(void); +static void st_images_set_image_size(void); +static void st_images_set_image_border(void); +static void st_images_set_image_border_scale_by(void); -static void st_models_model(void); +static void st_models_model(void); -static void st_fonts_font(void); +static void st_fonts_font(void); -static void st_data_item(void); -static void st_data_file(void); +static void st_data_item(void); +static void st_data_file(void); -static void ob_styles_style(void); -static void st_styles_style_name(void); -static void st_styles_style_base(void); -static void st_styles_style_tag(void); +static void ob_styles_style(void); +static void st_styles_style_name(void); +static void st_styles_style_base(void); +static void st_styles_style_tag(void); -static void ob_color_tree(void); +static void ob_color_tree(void); -static void ob_color_class(void); -static void st_color_class_name(void); -static void st_color_class_color(void); -static void st_color_class_color2(void); -static void st_color_class_color3(void); -static void st_color_class_desc(void); +static void ob_color_class(void); +static void st_color_class_name(void); +static void st_color_class_color(void); +static void st_color_class_color2(void); +static void st_color_class_color3(void); +static void st_color_class_desc(void); -static void ob_text_class(void); -static void st_text_class_name(void); -static void st_text_class_font(void); -static void st_text_class_size(void); +static void ob_text_class(void); +static void st_text_class_name(void); +static void st_text_class_font(void); +static void st_text_class_size(void); -static void ob_size_class(void); -static void st_size_class_name(void); -static void st_size_class_min(void); -static void st_size_class_max(void); +static void ob_size_class(void); +static void st_size_class_name(void); +static void st_size_class_min(void); +static void st_size_class_max(void); -static void ob_filters_filter(void); -static void ob_filters_filter_script(void); -static void st_filters_filter_file(void); -static void st_filters_filter_name(void); +static void ob_filters_filter(void); +static void ob_filters_filter_script(void); +static void st_filters_filter_file(void); +static void st_filters_filter_name(void); -static void ob_collections(void); -static void st_collections_base_scale(void); +static void ob_collections(void); +static void st_collections_base_scale(void); -static void ob_collections_group(void); -static void st_collections_group_name(void); -static void st_collections_group_inherit_only(void); -static void st_collections_group_inherit(void); -static void st_collections_group_program_source(void); -static void st_collections_group_part_remove(void); -static void st_collections_group_program_remove(void); -static void st_collections_group_lua_script_only(void); -static void st_collections_group_script_recursion(void); -static void st_collections_group_alias(void); -static void st_collections_group_min(void); -static void st_collections_group_max(void); -static void st_collections_group_scene_size(void); -static void st_collections_group_broadcast_signal(void); -static void st_collections_group_data_item(void); -static void st_collections_group_orientation(void); -static void st_collections_group_mouse_events(void); -static void st_collections_group_use_custom_seat_names(void); -static void st_collections_group_inherit_script(void); +static void ob_collections_group(void); +static void st_collections_group_name(void); +static void st_collections_group_skip_namespace_validation(void); +static void st_collections_group_inherit_only(void); +static void st_collections_group_inherit(void); +static void st_collections_group_program_source(void); +static void st_collections_group_part_remove(void); +static void st_collections_group_program_remove(void); +static void st_collections_group_lua_script_only(void); +static void st_collections_group_script_recursion(void); +static void st_collections_group_alias(void); +static void st_collections_group_min(void); +static void st_collections_group_max(void); +static void st_collections_group_scene_size(void); +static void st_collections_group_broadcast_signal(void); +static void st_collections_group_data_item(void); +static void st_collections_group_orientation(void); +static void st_collections_group_mouse_events(void); +static void st_collections_group_use_custom_seat_names(void); +static void st_collections_group_inherit_script(void); -static void st_collections_group_limits_vertical(void); -static void st_collections_group_limits_horizontal(void); +static void st_collections_group_limits_vertical(void); +static void st_collections_group_limits_horizontal(void); -static void ob_collections_group_script(void); -static void ob_collections_group_lua_script(void); +static void ob_collections_group_script(void); +static void ob_collections_group_lua_script(void); -static void st_collections_group_parts_alias(void); +static void st_collections_group_parts_alias(void); static Edje_Part *edje_cc_handlers_part_make(int); -static void ob_collections_group_parts_part(void); -static void st_collections_group_parts_part_name(void); -static void st_collections_group_parts_part_inherit(void); -static void st_collections_group_parts_part_type(void); +static void ob_collections_group_parts_part(void); +static void st_collections_group_parts_part_name(void); +static void st_collections_group_parts_part_inherit(void); +static void st_collections_group_parts_part_type(void); #ifdef HAVE_EPHYSICS -static void st_collections_group_parts_part_physics_body(void); +static void st_collections_group_parts_part_physics_body(void); #endif -static void st_collections_group_parts_part_insert_before(void); -static void st_collections_group_parts_part_insert_after(void); -static void st_collections_group_parts_part_effect(void); -static void st_collections_group_parts_part_mouse_events(void); -static void st_collections_group_parts_part_anti_alias(void); -static void st_collections_group_parts_part_repeat_events(void); -static void st_collections_group_parts_part_ignore_flags(void); -static void st_collections_group_parts_part_mask_flags(void); -static void st_collections_group_parts_part_scale(void); -static void st_collections_group_parts_part_pointer_mode(void); -static void st_collections_group_parts_part_precise_is_inside(void); -static void st_collections_group_parts_part_use_alternate_font_metrics(void); -static void st_collections_group_parts_part_clip_to_id(void); -static void st_collections_group_parts_part_render(void); -static void st_collections_group_parts_part_no_render(void); -static void st_collections_group_parts_part_required(void); -static void st_collections_group_parts_part_norequired(void); -static void st_collections_group_parts_part_source(void); -static void st_collections_group_parts_part_source2(void); -static void st_collections_group_parts_part_source3(void); -static void st_collections_group_parts_part_source4(void); -static void st_collections_group_parts_part_source5(void); -static void st_collections_group_parts_part_source6(void); -static void st_collections_group_parts_part_entry_mode(void); -static void st_collections_group_parts_part_select_mode(void); -static void st_collections_group_parts_part_cursor_mode(void); -static void st_collections_group_parts_part_multiline(void); -static void st_collections_group_parts_part_access(void); -static void st_collections_group_parts_part_dragable_x(void); -static void st_collections_group_parts_part_dragable_y(void); -static void st_collections_group_parts_part_dragable_confine(void); -static void st_collections_group_parts_part_dragable_threshold(void); -static void st_collections_group_parts_part_dragable_events(void); -static void st_collections_group_parts_part_allowed_seats(void); +static void st_collections_group_parts_part_insert_before(void); +static void st_collections_group_parts_part_insert_after(void); +static void st_collections_group_parts_part_effect(void); +static void st_collections_group_parts_part_mouse_events(void); +static void st_collections_group_parts_part_anti_alias(void); +static void st_collections_group_parts_part_repeat_events(void); +static void st_collections_group_parts_part_ignore_flags(void); +static void st_collections_group_parts_part_mask_flags(void); +static void st_collections_group_parts_part_scale(void); +static void st_collections_group_parts_part_pointer_mode(void); +static void st_collections_group_parts_part_precise_is_inside(void); +static void st_collections_group_parts_part_use_alternate_font_metrics(void); +static void st_collections_group_parts_part_clip_to_id(void); +static void st_collections_group_parts_part_render(void); +static void st_collections_group_parts_part_no_render(void); +static void st_collections_group_parts_part_required(void); +static void st_collections_group_parts_part_norequired(void); +static void st_collections_group_parts_part_source(void); +static void st_collections_group_parts_part_source2(void); +static void st_collections_group_parts_part_source3(void); +static void st_collections_group_parts_part_source4(void); +static void st_collections_group_parts_part_source5(void); +static void st_collections_group_parts_part_source6(void); +static void st_collections_group_parts_part_entry_mode(void); +static void st_collections_group_parts_part_select_mode(void); +static void st_collections_group_parts_part_cursor_mode(void); +static void st_collections_group_parts_part_multiline(void); +static void st_collections_group_parts_part_access(void); +static void st_collections_group_parts_part_dragable_x(void); +static void st_collections_group_parts_part_dragable_y(void); +static void st_collections_group_parts_part_dragable_confine(void); +static void st_collections_group_parts_part_dragable_threshold(void); +static void st_collections_group_parts_part_dragable_events(void); +static void st_collections_group_parts_part_allowed_seats(void); /* box and table items share these */ -static void ob_collections_group_parts_part_box_items_item(void); -static void st_collections_group_parts_part_box_items_item_type(void); -static void st_collections_group_parts_part_box_items_item_name(void); -static void st_collections_group_parts_part_box_items_item_source(void); -static void st_collections_group_parts_part_box_items_item_min(void); -static void st_collections_group_parts_part_box_items_item_spread(void); -static void st_collections_group_parts_part_box_items_item_prefer(void); -static void st_collections_group_parts_part_box_items_item_max(void); -static void st_collections_group_parts_part_box_items_item_padding(void); -static void st_collections_group_parts_part_box_items_item_align(void); -static void st_collections_group_parts_part_box_items_item_weight(void); -static void st_collections_group_parts_part_box_items_item_aspect(void); -static void st_collections_group_parts_part_box_items_item_aspect_mode(void); -static void st_collections_group_parts_part_box_items_item_options(void); +static void ob_collections_group_parts_part_box_items_item(void); +static void st_collections_group_parts_part_box_items_item_type(void); +static void st_collections_group_parts_part_box_items_item_name(void); +static void st_collections_group_parts_part_box_items_item_source(void); +static void st_collections_group_parts_part_box_items_item_min(void); +static void st_collections_group_parts_part_box_items_item_spread(void); +static void st_collections_group_parts_part_box_items_item_prefer(void); +static void st_collections_group_parts_part_box_items_item_max(void); +static void st_collections_group_parts_part_box_items_item_padding(void); +static void st_collections_group_parts_part_box_items_item_align(void); +static void st_collections_group_parts_part_box_items_item_weight(void); +static void st_collections_group_parts_part_box_items_item_aspect(void); +static void st_collections_group_parts_part_box_items_item_aspect_mode(void); +static void st_collections_group_parts_part_box_items_item_options(void); /* but these are only for table */ -static void st_collections_group_parts_part_table_items_item_position(void); -static void st_collections_group_parts_part_table_items_item_span(void); +static void st_collections_group_parts_part_table_items_item_position(void); +static void st_collections_group_parts_part_table_items_item_span(void); -static void ob_collections_group_parts_part_description(void); -static void ob_collections_group_parts_part_desc(void); -static void st_collections_group_parts_part_description_inherit(void); -static void ob_collections_group_parts_part_description_link(void); -static void st_collections_group_parts_part_description_link_base(void); -static void st_collections_group_parts_part_description_source(void); -static void st_collections_group_parts_part_description_state(void); -static void st_collections_group_parts_part_description_visible(void); -static void st_collections_group_parts_part_description_no_render(void); -static void st_collections_group_parts_part_description_limit(void); -static void st_collections_group_parts_part_description_align(void); -static void st_collections_group_parts_part_description_fixed(void); -static void st_collections_group_parts_part_description_min(void); -static void st_collections_group_parts_part_description_minmul(void); -static void st_collections_group_parts_part_description_max(void); -static void st_collections_group_parts_part_description_step(void); -static void st_collections_group_parts_part_description_aspect(void); -static void st_collections_group_parts_part_description_aspect_preference(void); -static void st_collections_group_parts_part_description_rel_to(void); -static void st_collections_group_parts_part_description_rel_to_x(void); -static void st_collections_group_parts_part_description_rel_to_y(void); -static void st_collections_group_parts_part_description_rel1_relative(void); -static void st_collections_group_parts_part_description_rel1_offset(void); -static void st_collections_group_parts_part_description_rel1_to_set(const char *name); -static void st_collections_group_parts_part_description_rel1_to(void); -static void st_collections_group_parts_part_description_rel1_to_x(void); -static void st_collections_group_parts_part_description_rel1_to_y(void); -static void st_collections_group_parts_part_description_rel2_relative(void); -static void st_collections_group_parts_part_description_rel2_offset(void); -static void st_collections_group_parts_part_description_rel2_to_set(const char *name); -static void st_collections_group_parts_part_description_rel2_to(void); -static void st_collections_group_parts_part_description_rel2_to_x(void); -static void st_collections_group_parts_part_description_rel2_to_y(void); -static void st_collections_group_parts_part_description_anchors_top(void); -static void st_collections_group_parts_part_description_anchors_bottom(void); -static void st_collections_group_parts_part_description_anchors_left(void); -static void st_collections_group_parts_part_description_anchors_right(void); -static void st_collections_group_parts_part_description_anchors_vertical_center(void); -static void st_collections_group_parts_part_description_anchors_horizontal_center(void); -static void st_collections_group_parts_part_description_anchors_fill(void); -static void st_collections_group_parts_part_description_anchors_margin(void); -static void st_collections_group_parts_part_description_clip_to_id(void); -static void st_collections_group_parts_part_description_size_class(void); -static void st_collections_group_parts_part_description_image_normal(void); -static void st_collections_group_parts_part_description_image_tween(void); -static void st_collections_group_parts_part_description_image_border(void); -static void st_collections_group_parts_part_description_image_middle(void); -static void st_collections_group_parts_part_description_image_border_scale(void); -static void st_collections_group_parts_part_description_image_border_scale_by(void); -static void st_collections_group_parts_part_description_image_scale_hint(void); -static void st_collections_group_parts_part_description_fill_smooth(void); -static void st_collections_group_parts_part_description_fill_origin_relative(void); -static void st_collections_group_parts_part_description_fill_origin_offset(void); -static void st_collections_group_parts_part_description_fill_size_relative(void); -static void st_collections_group_parts_part_description_fill_size_offset(void); -static void st_collections_group_parts_part_description_fill_type(void); -static void st_collections_group_parts_part_description_color_class(void); -static void st_collections_group_parts_part_description_color(void); -static void st_collections_group_parts_part_description_color2(void); -static void st_collections_group_parts_part_description_color3(void); -static void st_collections_group_parts_part_description_text_text(void); -static void st_collections_group_parts_part_description_text_domain(void); -static void st_collections_group_parts_part_description_text_text_class(void); -static void st_collections_group_parts_part_description_text_font(void); -static void st_collections_group_parts_part_description_text_style(void); -static void st_collections_group_parts_part_description_text_repch(void); -static void st_collections_group_parts_part_description_text_size(void); -static void st_collections_group_parts_part_description_text_size_range(void); -static void st_collections_group_parts_part_description_text_fit(void); -static void st_collections_group_parts_part_description_text_min(void); -static void st_collections_group_parts_part_description_text_max(void); -static void st_collections_group_parts_part_description_text_align(void); -static void st_collections_group_parts_part_description_text_source(void); -static void st_collections_group_parts_part_description_text_text_source(void); -static void st_collections_group_parts_part_description_text_ellipsis(void); -static void st_collections_group_parts_part_description_box_layout(void); -static void st_collections_group_parts_part_description_box_align(void); -static void st_collections_group_parts_part_description_box_padding(void); -static void st_collections_group_parts_part_description_box_min(void); -static void st_collections_group_parts_part_description_table_homogeneous(void); -static void st_collections_group_parts_part_description_table_align(void); -static void st_collections_group_parts_part_description_table_padding(void); -static void st_collections_group_parts_part_description_table_min(void); -static void st_collections_group_parts_part_description_proxy_source_visible(void); -static void st_collections_group_parts_part_description_proxy_source_clip(void); -static void st_collections_group_parts_part_description_position_point(void); -static void st_collections_group_parts_part_description_position_space(void); -static void st_collections_group_parts_part_description_camera_properties(void); -static void st_collections_group_parts_part_description_properties_ambient(void); -static void st_collections_group_parts_part_description_properties_diffuse(void); -static void st_collections_group_parts_part_description_properties_specular(void); -static void st_collections_group_parts_part_description_properties_material(void); -static void st_collections_group_parts_part_description_properties_normal(void); -static void st_collections_group_parts_part_description_properties_shininess(void); -static void st_collections_group_parts_part_description_properties_shade(void); -static void st_collections_group_parts_part_description_orientation_angle_axis(void); -static void st_collections_group_parts_part_description_orientation_look1(void); -static void st_collections_group_parts_part_description_orientation_look2(void); -static void st_collections_group_parts_part_description_orientation_look_to(void); -static void st_collections_group_parts_part_description_orientation_angle_axis(void); -static void st_collections_group_parts_part_description_orientation_quaternion(void); -static void st_collections_group_parts_part_description_scale(void); -static void st_collections_group_parts_part_description_offset_scale(void); -static void st_collections_group_parts_part_description_mesh_primitive(void); -static void ob_collections_group_parts_part_description_texture(void); -static void st_collections_group_parts_part_description_texture_image(void); -static void st_collections_group_parts_part_description_texture_wrap1(void); -static void st_collections_group_parts_part_description_texture_wrap2(void); -static void st_collections_group_parts_part_description_texture_filter1(void); -static void st_collections_group_parts_part_description_texture_filter2(void); -static void st_collections_group_parts_part_description_mesh_assembly(void); -static void st_collections_group_parts_part_description_mesh_geometry(void); -static void st_collections_group_parts_part_description_mesh_frame(void); -static void st_collections_group_parts_part_description_filter_code(void); -static void st_collections_group_parts_part_description_filter_source(void); -static void st_collections_group_parts_part_description_filter_data(void); +static void ob_collections_group_parts_part_description(void); +static void ob_collections_group_parts_part_desc(void); +static void st_collections_group_parts_part_description_inherit(void); +static void ob_collections_group_parts_part_description_link(void); +static void st_collections_group_parts_part_description_link_base(void); +static void st_collections_group_parts_part_description_source(void); +static void st_collections_group_parts_part_description_state(void); +static void st_collections_group_parts_part_description_visible(void); +static void st_collections_group_parts_part_description_no_render(void); +static void st_collections_group_parts_part_description_limit(void); +static void st_collections_group_parts_part_description_align(void); +static void st_collections_group_parts_part_description_fixed(void); +static void st_collections_group_parts_part_description_min(void); +static void st_collections_group_parts_part_description_minmul(void); +static void st_collections_group_parts_part_description_max(void); +static void st_collections_group_parts_part_description_step(void); +static void st_collections_group_parts_part_description_aspect(void); +static void st_collections_group_parts_part_description_aspect_preference(void); +static void st_collections_group_parts_part_description_rel_to(void); +static void st_collections_group_parts_part_description_rel_to_x(void); +static void st_collections_group_parts_part_description_rel_to_y(void); +static void st_collections_group_parts_part_description_rel1_relative(void); +static void st_collections_group_parts_part_description_rel1_offset(void); +static void st_collections_group_parts_part_description_rel1_to_set(const char *name); +static void st_collections_group_parts_part_description_rel1_to(void); +static void st_collections_group_parts_part_description_rel1_to_x(void); +static void st_collections_group_parts_part_description_rel1_to_y(void); +static void st_collections_group_parts_part_description_rel2_relative(void); +static void st_collections_group_parts_part_description_rel2_offset(void); +static void st_collections_group_parts_part_description_rel2_to_set(const char *name); +static void st_collections_group_parts_part_description_rel2_to(void); +static void st_collections_group_parts_part_description_rel2_to_x(void); +static void st_collections_group_parts_part_description_rel2_to_y(void); +static void st_collections_group_parts_part_description_anchors_top(void); +static void st_collections_group_parts_part_description_anchors_bottom(void); +static void st_collections_group_parts_part_description_anchors_left(void); +static void st_collections_group_parts_part_description_anchors_right(void); +static void st_collections_group_parts_part_description_anchors_vertical_center(void); +static void st_collections_group_parts_part_description_anchors_horizontal_center(void); +static void st_collections_group_parts_part_description_anchors_fill(void); +static void st_collections_group_parts_part_description_anchors_margin(void); +static void st_collections_group_parts_part_description_clip_to_id(void); +static void st_collections_group_parts_part_description_size_class(void); +static void st_collections_group_parts_part_description_image_normal(void); +static void st_collections_group_parts_part_description_image_tween(void); +static void st_collections_group_parts_part_description_image_border(void); +static void st_collections_group_parts_part_description_image_middle(void); +static void st_collections_group_parts_part_description_image_border_scale(void); +static void st_collections_group_parts_part_description_image_border_scale_by(void); +static void st_collections_group_parts_part_description_image_scale_hint(void); +static void st_collections_group_parts_part_description_fill_smooth(void); +static void st_collections_group_parts_part_description_fill_origin_relative(void); +static void st_collections_group_parts_part_description_fill_origin_offset(void); +static void st_collections_group_parts_part_description_fill_size_relative(void); +static void st_collections_group_parts_part_description_fill_size_offset(void); +static void st_collections_group_parts_part_description_fill_type(void); +static void st_collections_group_parts_part_description_color_class(void); +static void st_collections_group_parts_part_description_color(void); +static void st_collections_group_parts_part_description_color2(void); +static void st_collections_group_parts_part_description_color3(void); +static void st_collections_group_parts_part_description_text_text(void); +static void st_collections_group_parts_part_description_text_domain(void); +static void st_collections_group_parts_part_description_text_text_class(void); +static void st_collections_group_parts_part_description_text_font(void); +static void st_collections_group_parts_part_description_text_style(void); +static void st_collections_group_parts_part_description_text_repch(void); +static void st_collections_group_parts_part_description_text_size(void); +static void st_collections_group_parts_part_description_text_size_range(void); +static void st_collections_group_parts_part_description_text_fit(void); +static void st_collections_group_parts_part_description_text_min(void); +static void st_collections_group_parts_part_description_text_max(void); +static void st_collections_group_parts_part_description_text_align(void); +static void st_collections_group_parts_part_description_text_source(void); +static void st_collections_group_parts_part_description_text_text_source(void); +static void st_collections_group_parts_part_description_text_ellipsis(void); +static void st_collections_group_parts_part_description_box_layout(void); +static void st_collections_group_parts_part_description_box_align(void); +static void st_collections_group_parts_part_description_box_padding(void); +static void st_collections_group_parts_part_description_box_min(void); +static void st_collections_group_parts_part_description_table_homogeneous(void); +static void st_collections_group_parts_part_description_table_align(void); +static void st_collections_group_parts_part_description_table_padding(void); +static void st_collections_group_parts_part_description_table_min(void); +static void st_collections_group_parts_part_description_proxy_source_visible(void); +static void st_collections_group_parts_part_description_proxy_source_clip(void); +static void st_collections_group_parts_part_description_position_point(void); +static void st_collections_group_parts_part_description_position_space(void); +static void st_collections_group_parts_part_description_camera_properties(void); +static void st_collections_group_parts_part_description_properties_ambient(void); +static void st_collections_group_parts_part_description_properties_diffuse(void); +static void st_collections_group_parts_part_description_properties_specular(void); +static void st_collections_group_parts_part_description_properties_material(void); +static void st_collections_group_parts_part_description_properties_normal(void); +static void st_collections_group_parts_part_description_properties_shininess(void); +static void st_collections_group_parts_part_description_properties_shade(void); +static void st_collections_group_parts_part_description_orientation_angle_axis(void); +static void st_collections_group_parts_part_description_orientation_look1(void); +static void st_collections_group_parts_part_description_orientation_look2(void); +static void st_collections_group_parts_part_description_orientation_look_to(void); +static void st_collections_group_parts_part_description_orientation_angle_axis(void); +static void st_collections_group_parts_part_description_orientation_quaternion(void); +static void st_collections_group_parts_part_description_scale(void); +static void st_collections_group_parts_part_description_offset_scale(void); +static void st_collections_group_parts_part_description_mesh_primitive(void); +static void ob_collections_group_parts_part_description_texture(void); +static void st_collections_group_parts_part_description_texture_image(void); +static void st_collections_group_parts_part_description_texture_wrap1(void); +static void st_collections_group_parts_part_description_texture_wrap2(void); +static void st_collections_group_parts_part_description_texture_filter1(void); +static void st_collections_group_parts_part_description_texture_filter2(void); +static void st_collections_group_parts_part_description_mesh_assembly(void); +static void st_collections_group_parts_part_description_mesh_geometry(void); +static void st_collections_group_parts_part_description_mesh_frame(void); +static void st_collections_group_parts_part_description_filter_code(void); +static void st_collections_group_parts_part_description_filter_source(void); +static void st_collections_group_parts_part_description_filter_data(void); #ifdef HAVE_EPHYSICS -static void st_collections_group_parts_part_description_physics_mass(void); -static void st_collections_group_parts_part_description_physics_restitution(void); -static void st_collections_group_parts_part_description_physics_friction(void); -static void st_collections_group_parts_part_description_physics_damping(void); -static void st_collections_group_parts_part_description_physics_sleep(void); -static void st_collections_group_parts_part_description_physics_material(void); -static void st_collections_group_parts_part_description_physics_density(void); -static void st_collections_group_parts_part_description_physics_hardness(void); -static void st_collections_group_parts_part_description_physics_ignore_part_pos(void); -static void st_collections_group_parts_part_description_physics_light_on(void); -static void st_collections_group_parts_part_description_physics_z(void); -static void st_collections_group_parts_part_description_physics_depth(void); -static void st_collections_group_parts_part_description_physics_movement_freedom_linear(void); -static void st_collections_group_parts_part_description_physics_movement_freedom_angular(void); -static void st_collections_group_parts_part_description_physics_backface_cull(void); -static void st_collections_group_parts_part_description_physics_face(void); -static void st_collections_group_parts_part_description_physics_face_type(void); -static void st_collections_group_parts_part_description_physics_face_source(void); +static void st_collections_group_parts_part_description_physics_mass(void); +static void st_collections_group_parts_part_description_physics_restitution(void); +static void st_collections_group_parts_part_description_physics_friction(void); +static void st_collections_group_parts_part_description_physics_damping(void); +static void st_collections_group_parts_part_description_physics_sleep(void); +static void st_collections_group_parts_part_description_physics_material(void); +static void st_collections_group_parts_part_description_physics_density(void); +static void st_collections_group_parts_part_description_physics_hardness(void); +static void st_collections_group_parts_part_description_physics_ignore_part_pos(void); +static void st_collections_group_parts_part_description_physics_light_on(void); +static void st_collections_group_parts_part_description_physics_z(void); +static void st_collections_group_parts_part_description_physics_depth(void); +static void st_collections_group_parts_part_description_physics_movement_freedom_linear(void); +static void st_collections_group_parts_part_description_physics_movement_freedom_angular(void); +static void st_collections_group_parts_part_description_physics_backface_cull(void); +static void st_collections_group_parts_part_description_physics_face(void); +static void st_collections_group_parts_part_description_physics_face_type(void); +static void st_collections_group_parts_part_description_physics_face_source(void); #endif -static void st_collections_group_parts_part_description_map_perspective(void); -static void st_collections_group_parts_part_description_map_light(void); -static void st_collections_group_parts_part_description_map_rotation_center(void); -static void st_collections_group_parts_part_description_map_rotation_x(void); -static void st_collections_group_parts_part_description_map_rotation_y(void); -static void st_collections_group_parts_part_description_map_rotation_z(void); -static void st_collections_group_parts_part_description_map_on(void); -static void st_collections_group_parts_part_description_map_smooth(void); -static void st_collections_group_parts_part_description_map_alpha(void); -static void st_collections_group_parts_part_description_map_backface_cull(void); -static void st_collections_group_parts_part_description_map_perspective_on(void); -static void st_collections_group_parts_part_description_map_color(void); -static void st_collections_group_parts_part_description_map_zoom_x(void); -static void st_collections_group_parts_part_description_map_zoom_y(void); -static void st_collections_group_parts_part_description_perspective_zplane(void); -static void st_collections_group_parts_part_description_perspective_focal(void); -static void st_collections_group_parts_part_api(void); +static void st_collections_group_parts_part_description_map_perspective(void); +static void st_collections_group_parts_part_description_map_light(void); +static void st_collections_group_parts_part_description_map_rotation_center(void); +static void st_collections_group_parts_part_description_map_rotation_x(void); +static void st_collections_group_parts_part_description_map_rotation_y(void); +static void st_collections_group_parts_part_description_map_rotation_z(void); +static void st_collections_group_parts_part_description_map_on(void); +static void st_collections_group_parts_part_description_map_smooth(void); +static void st_collections_group_parts_part_description_map_alpha(void); +static void st_collections_group_parts_part_description_map_backface_cull(void); +static void st_collections_group_parts_part_description_map_perspective_on(void); +static void st_collections_group_parts_part_description_map_color(void); +static void st_collections_group_parts_part_description_map_zoom_x(void); +static void st_collections_group_parts_part_description_map_zoom_y(void); +static void st_collections_group_parts_part_description_perspective_zplane(void); +static void st_collections_group_parts_part_description_perspective_focal(void); +static void st_collections_group_parts_part_api(void); /* external part parameters */ -static void st_collections_group_parts_part_description_params_int(void); -static void st_collections_group_parts_part_description_params_double(void); -static void st_collections_group_parts_part_description_params_string(void); -static void st_collections_group_parts_part_description_params_bool(void); -static void st_collections_group_parts_part_description_params_choice(void); -static void st_collections_group_parts_part_description_params_smart(void); +static void st_collections_group_parts_part_description_params_int(void); +static void st_collections_group_parts_part_description_params_double(void); +static void st_collections_group_parts_part_description_params_string(void); +static void st_collections_group_parts_part_description_params_bool(void); +static void st_collections_group_parts_part_description_params_choice(void); +static void st_collections_group_parts_part_description_params_smart(void); -static void ob_collections_group_programs_program(void); -static void st_collections_group_programs_program_name(void); -static void st_collections_group_programs_program_signal(void); -static void st_collections_group_programs_program_source(void); -static void st_collections_group_programs_program_filter(void); -static void st_collections_group_programs_program_in(void); -static void st_collections_group_programs_program_action(void); -static void st_collections_group_programs_program_transition(void); -static void st_collections_group_programs_program_target(void); -static void st_collections_group_programs_program_targets(void); -static void st_collections_group_programs_program_target_groups(void); -static void st_collections_group_programs_program_after(void); -static void st_collections_group_programs_program_api(void); -static void st_collections_group_target_group(void); +static void ob_collections_group_programs_program(void); +static void st_collections_group_programs_program_name(void); +static void st_collections_group_programs_program_signal(void); +static void st_collections_group_programs_program_source(void); +static void st_collections_group_programs_program_filter(void); +static void st_collections_group_programs_program_in(void); +static void st_collections_group_programs_program_action(void); +static void st_collections_group_programs_program_transition(void); +static void st_collections_group_programs_program_target(void); +static void st_collections_group_programs_program_targets(void); +static void st_collections_group_programs_program_target_groups(void); +static void st_collections_group_programs_program_after(void); +static void st_collections_group_programs_program_api(void); +static void st_collections_group_target_group(void); -static void ob_collections_group_programs_program_sequence(void); +static void ob_collections_group_programs_program_sequence(void); -static void ob_collections_group_programs_program_script(void); -static void st_collections_group_sound_sample_name(void); -static void st_collections_group_sound_sample_source(void); -static void st_collections_group_sound_tone(void); -static void st_collections_group_vibration_sample_name(void); -static void st_collections_group_vibration_sample_source(void); +static void ob_collections_group_programs_program_script(void); +static void st_collections_group_sound_sample_name(void); +static void st_collections_group_sound_sample_source(void); +static void st_collections_group_sound_tone(void); +static void st_collections_group_vibration_sample_name(void); +static void st_collections_group_vibration_sample_source(void); -static void st_collections_group_translation_file_locale(void); -static void st_collections_group_translation_file_source(void); +static void st_collections_group_translation_file_locale(void); +static void st_collections_group_translation_file_source(void); #ifdef HAVE_EPHYSICS -static void st_collections_group_physics_world_gravity(void); -static void st_collections_group_physics_world_rate(void); -static void st_collections_group_physics_world_z(void); -static void st_collections_group_physics_world_depth(void); +static void st_collections_group_physics_world_gravity(void); +static void st_collections_group_physics_world_rate(void); +static void st_collections_group_physics_world_z(void); +static void st_collections_group_physics_world_depth(void); #endif /* short */ -static void st_collections_group_parts_part_noscale(void); -static void st_collections_group_parts_part_precise(void); -static void st_collections_group_parts_part_noprecise(void); -static void st_collections_group_parts_part_mouse(void); -static void st_collections_group_parts_part_nomouse(void); -static void st_collections_group_parts_part_repeat(void); -static void st_collections_group_parts_part_norepeat(void); -static void st_collections_group_parts_part_description_vis(void); -static void st_collections_group_parts_part_description_hid(void); -static void ob_collections_group_parts_part_short(void); +static void st_collections_group_parts_part_noscale(void); +static void st_collections_group_parts_part_precise(void); +static void st_collections_group_parts_part_noprecise(void); +static void st_collections_group_parts_part_mouse(void); +static void st_collections_group_parts_part_nomouse(void); +static void st_collections_group_parts_part_repeat(void); +static void st_collections_group_parts_part_norepeat(void); +static void st_collections_group_parts_part_description_vis(void); +static void st_collections_group_parts_part_description_hid(void); +static void ob_collections_group_parts_part_short(void); -static void st_collections_group_mouse(void); -static void st_collections_group_nomouse(void); -static void st_collections_group_broadcast(void); -static void st_collections_group_nobroadcast(void); -static void st_collections_group_noinherit_script(void); +static void st_collections_group_mouse(void); +static void st_collections_group_nomouse(void); +static void st_collections_group_broadcast(void); +static void st_collections_group_nobroadcast(void); +static void st_collections_group_noinherit_script(void); -static void st_images_vector(void); -static void _handle_vector_image(void); +static void st_images_vector(void); +static void _handle_vector_image(void); /*****/ #define STRDUP(x) eina_strdup(x) -#define IMAGE_STATEMENTS(PREFIX) \ - {PREFIX"images.image", st_images_image}, \ - {PREFIX"images.vector", st_images_vector}, \ - {PREFIX"images.set.name", st_images_set_name}, \ - {PREFIX"images.set.image.image", st_images_set_image_image}, \ - {PREFIX"images.set.image.size", st_images_set_image_size}, \ - {PREFIX"images.set.image.border", st_images_set_image_border}, \ - {PREFIX"images.set.image.scale_by", st_images_set_image_border_scale_by}, +#define IMAGE_STATEMENTS(PREFIX) \ + {PREFIX "images.image", st_images_image}, \ + {PREFIX "images.vector", st_images_vector}, \ + {PREFIX "images.set.name", st_images_set_name}, \ + {PREFIX "images.set.image.image", st_images_set_image_image}, \ + {PREFIX "images.set.image.size", st_images_set_image_size}, \ + {PREFIX "images.set.image.border", st_images_set_image_border}, \ + {PREFIX "images.set.image.scale_by", st_images_set_image_border_scale_by}, -#define IMAGE_SET_STATEMENTS(PREFIX) \ - {PREFIX".image", st_images_image}, /* dup */ \ - {PREFIX".set.name", st_images_set_name}, /* dup */ \ - {PREFIX".set.image.image", st_images_set_image_image}, /* dup */ \ - {PREFIX".set.image.size", st_images_set_image_size}, /* dup */ \ - {PREFIX".set.image.border", st_images_set_image_border}, /* dup */ \ - {PREFIX".set.image.scale_by", st_images_set_image_border_scale_by}, /* dup */ +#define IMAGE_SET_STATEMENTS(PREFIX) \ + {PREFIX ".image", st_images_image}, /* dup */ \ + {PREFIX ".set.name", st_images_set_name}, /* dup */ \ + {PREFIX ".set.image.image", st_images_set_image_image}, /* dup */ \ + {PREFIX ".set.image.size", st_images_set_image_size}, /* dup */ \ + {PREFIX ".set.image.border", st_images_set_image_border}, /* dup */ \ + {PREFIX ".set.image.scale_by", st_images_set_image_border_scale_by}, /* dup */ -#define FONT_STYLE_CC_STATEMENTS(PREFIX) \ - {PREFIX"fonts.font", st_fonts_font}, /* dup */ \ - {PREFIX"styles.style.name", st_styles_style_name}, /* dup */ \ - {PREFIX"styles.style.base", st_styles_style_base}, /* dup */ \ - {PREFIX"styles.style.tag", st_styles_style_tag}, /* dup */ \ - {PREFIX"color_classes.color_class.name", st_color_class_name}, /* dup */ \ - {PREFIX"color_classes.color_class.color", st_color_class_color}, /* dup */ \ - {PREFIX"color_classes.color_class.color2", st_color_class_color2}, /* dup */ \ - {PREFIX"color_classes.color_class.color3", st_color_class_color3}, /* dup */ \ - {PREFIX"color_classes.color_class.description", st_color_class_desc}, /* dup */ \ - {PREFIX"color_classes.color_class.desc", st_color_class_desc}, /* dup */ +#define FONT_STYLE_CC_STATEMENTS(PREFIX) \ + {PREFIX "fonts.font", st_fonts_font}, /* dup */ \ + {PREFIX "styles.style.name", st_styles_style_name}, /* dup */ \ + {PREFIX "styles.style.base", st_styles_style_base}, /* dup */ \ + {PREFIX "styles.style.tag", st_styles_style_tag}, /* dup */ \ + {PREFIX "color_classes.color_class.name", st_color_class_name}, /* dup */ \ + {PREFIX "color_classes.color_class.color", st_color_class_color}, /* dup */ \ + {PREFIX "color_classes.color_class.color2", st_color_class_color2}, /* dup */ \ + {PREFIX "color_classes.color_class.color3", st_color_class_color3}, /* dup */ \ + {PREFIX "color_classes.color_class.description", st_color_class_desc}, /* dup */ \ + {PREFIX "color_classes.color_class.desc", st_color_class_desc}, /* dup */ -#define TEXT_CLASS_STATEMENTS(PREFIX) \ - {PREFIX"text_classes.text_class.name", st_text_class_name}, /* dup */ \ - {PREFIX"text_classes.text_class.font", st_text_class_font}, /* dup */ \ - {PREFIX"text_classes.text_class.size", st_text_class_size}, /* dup */ +#define TEXT_CLASS_STATEMENTS(PREFIX) \ + {PREFIX "text_classes.text_class.name", st_text_class_name}, /* dup */ \ + {PREFIX "text_classes.text_class.font", st_text_class_font}, /* dup */ \ + {PREFIX "text_classes.text_class.size", st_text_class_size}, /* dup */ -#define SIZE_CLASS_STATEMENTS(PREFIX) \ - {PREFIX"size_classes.size_class.name", st_size_class_name}, /* dup */ \ - {PREFIX"size_classes.size_class.min", st_size_class_min}, /* dup */ \ - {PREFIX"size_classes.size_class.max", st_size_class_max}, /* dup */ +#define SIZE_CLASS_STATEMENTS(PREFIX) \ + {PREFIX "size_classes.size_class.name", st_size_class_name}, /* dup */ \ + {PREFIX "size_classes.size_class.min", st_size_class_min}, /* dup */ \ + {PREFIX "size_classes.size_class.max", st_size_class_max}, /* dup */ -#define PROGRAM_SEQUENCE(PREFIX, NAME, FN) \ - {PREFIX".program."NAME, FN}, /* dup */ \ - {PREFIX".program.sequence."NAME, FN}, /* dup */ +#define PROGRAM_SEQUENCE(PREFIX, NAME, FN) \ + {PREFIX ".program."NAME, FN}, /* dup */ \ + {PREFIX ".program.sequence."NAME, FN}, /* dup */ +#define PROGRAM_BASE(PREFIX) \ + PROGRAM_SEQUENCE(PREFIX, "name", st_collections_group_programs_program_name) \ + PROGRAM_SEQUENCE(PREFIX, "signal", st_collections_group_programs_program_signal) \ + PROGRAM_SEQUENCE(PREFIX, "source", st_collections_group_programs_program_source) \ + PROGRAM_SEQUENCE(PREFIX, "in", st_collections_group_programs_program_in) \ + PROGRAM_SEQUENCE(PREFIX, "action", st_collections_group_programs_program_action) \ + PROGRAM_SEQUENCE(PREFIX, "transition", st_collections_group_programs_program_transition) \ + PROGRAM_SEQUENCE(PREFIX, "target", st_collections_group_programs_program_target) \ + PROGRAM_SEQUENCE(PREFIX, "target_groups", st_collections_group_programs_program_target_groups) \ + PROGRAM_SEQUENCE(PREFIX, "groups", st_collections_group_programs_program_target_groups) \ + PROGRAM_SEQUENCE(PREFIX, "targets", st_collections_group_programs_program_targets) \ + PROGRAM_SEQUENCE(PREFIX, "after", st_collections_group_programs_program_after) \ + PROGRAM_SEQUENCE(PREFIX, "api", st_collections_group_programs_program_api) \ + PROGRAM_SEQUENCE(PREFIX, "filter", st_collections_group_programs_program_filter) -#define PROGRAM_BASE(PREFIX) \ - PROGRAM_SEQUENCE(PREFIX, "name", st_collections_group_programs_program_name) \ - PROGRAM_SEQUENCE(PREFIX, "signal", st_collections_group_programs_program_signal) \ - PROGRAM_SEQUENCE(PREFIX, "source", st_collections_group_programs_program_source) \ - PROGRAM_SEQUENCE(PREFIX, "in", st_collections_group_programs_program_in) \ - PROGRAM_SEQUENCE(PREFIX, "action", st_collections_group_programs_program_action) \ - PROGRAM_SEQUENCE(PREFIX, "transition", st_collections_group_programs_program_transition) \ - PROGRAM_SEQUENCE(PREFIX, "target", st_collections_group_programs_program_target) \ - PROGRAM_SEQUENCE(PREFIX, "target_groups", st_collections_group_programs_program_target_groups) \ - PROGRAM_SEQUENCE(PREFIX, "groups", st_collections_group_programs_program_target_groups) \ - PROGRAM_SEQUENCE(PREFIX, "targets", st_collections_group_programs_program_targets) \ - PROGRAM_SEQUENCE(PREFIX, "after", st_collections_group_programs_program_after) \ - PROGRAM_SEQUENCE(PREFIX, "api", st_collections_group_programs_program_api) \ - PROGRAM_SEQUENCE(PREFIX, "filter", st_collections_group_programs_program_filter) +#define PROGRAM_STATEMENTS(PREFIX) \ + IMAGE_SET_STATEMENTS(PREFIX ".programs") \ + IMAGE_STATEMENTS(PREFIX ".programs.") \ + IMAGE_SET_STATEMENTS(PREFIX ".programs") \ + {PREFIX ".programs.font", st_fonts_font}, /* dup */ \ + {PREFIX ".programs.fonts.font", st_fonts_font}, /* dup */ \ + PROGRAM_BASE(PREFIX) \ + PROGRAM_BASE(PREFIX ".programs") -#define PROGRAM_STATEMENTS(PREFIX) \ - IMAGE_SET_STATEMENTS(PREFIX".programs") \ - IMAGE_STATEMENTS(PREFIX".programs.") \ - IMAGE_SET_STATEMENTS(PREFIX".programs") \ - {PREFIX".programs.font", st_fonts_font}, /* dup */ \ - {PREFIX".programs.fonts.font", st_fonts_font}, /* dup */ \ - PROGRAM_BASE(PREFIX) \ - PROGRAM_BASE(PREFIX".programs") +#define SET_LOOK1(Type, type_node) \ + Edje_Part_Description_##Type * ed; \ + ed = (Edje_Part_Description_##Type *)current_desc; \ + \ + if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT) \ + { \ + ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(0)); \ + ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(1)); \ + ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(2)); \ + ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT; \ + } -#define SET_LOOK1(Type, type_node) \ - Edje_Part_Description_##Type *ed; \ - ed = (Edje_Part_Description_##Type*) current_desc; \ - \ - if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT) \ - { \ - ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(0)); \ - ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(1)); \ - ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(2)); \ - ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT; \ - } - -#define SET_LOOK2(Type, type_node) \ - Edje_Part_Description_##Type *ed; \ - ed = (Edje_Part_Description_##Type*) current_desc; \ - \ - if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT) \ - { \ - ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(0)); \ - ed->type_node.orientation.data[4] = FROM_DOUBLE(parse_float(1)); \ - ed->type_node.orientation.data[5] = FROM_DOUBLE(parse_float(2)); \ - ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT; \ - } +#define SET_LOOK2(Type, type_node) \ + Edje_Part_Description_##Type * ed; \ + ed = (Edje_Part_Description_##Type *)current_desc; \ + \ + if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT) \ + { \ + ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(0)); \ + ed->type_node.orientation.data[4] = FROM_DOUBLE(parse_float(1)); \ + ed->type_node.orientation.data[5] = FROM_DOUBLE(parse_float(2)); \ + ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT; \ + } #define SET_LOOK_TO(list, Type, type_node) \ - Edje_Part_Description_##Type *ed; \ - char *name; \ + Edje_Part_Description_##Type * ed; \ + char *name; \ \ - ed = (Edje_Part_Description_##Type*) current_desc; \ + ed = (Edje_Part_Description_##Type *)current_desc; \ \ - if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO) \ - { \ - name = parse_str(0); \ - data_queue_part_lookup(list, name, &(ed->type_node.orientation.look_to)); \ - free(name); \ - ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO; \ - } + if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO) \ + { \ + name = parse_str(0); \ + data_queue_part_lookup(list, name, &(ed->type_node.orientation.look_to)); \ + free(name); \ + ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO; \ + } -#define SET_ANGLE_AXIS(Type, type_node) \ - Edje_Part_Description_##Type *ed; \ - ed = (Edje_Part_Description_##Type*) current_desc; \ - \ - if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS) \ - { \ - ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(0)); \ - ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(1)); \ - ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(2)); \ - ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(3)); \ - ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS; \ - } +#define SET_ANGLE_AXIS(Type, type_node) \ + Edje_Part_Description_##Type * ed; \ + ed = (Edje_Part_Description_##Type *)current_desc; \ + \ + if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS) \ + { \ + ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(0)); \ + ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(1)); \ + ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(2)); \ + ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(3)); \ + ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS; \ + } -#define SET_QUATERNION(Type, type_node) \ - Edje_Part_Description_##Type *ed; \ - ed = (Edje_Part_Description_##Type*) current_desc; \ - \ - if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION) \ - { \ - ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(0)); \ - ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(1)); \ - ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(2)); \ - ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(3)); \ - ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION; \ - } +#define SET_QUATERNION(Type, type_node) \ + Edje_Part_Description_##Type * ed; \ + ed = (Edje_Part_Description_##Type *)current_desc; \ + \ + if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION) \ + { \ + ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(0)); \ + ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(1)); \ + ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(2)); \ + ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(3)); \ + ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION; \ + } -#define FILTERS_STATEMENTS(PREFIX) \ - {PREFIX"filters.filter.file", st_filters_filter_file}, \ - {PREFIX"filters.filter.name", st_filters_filter_name}, +#define FILTERS_STATEMENTS(PREFIX) \ + {PREFIX "filters.filter.file", st_filters_filter_file}, \ + {PREFIX "filters.filter.name", st_filters_filter_name}, New_Statement_Handler statement_handlers[] = { - {"efl_version", st_efl_version}, - {"externals.external", st_externals_external}, - IMAGE_STATEMENTS("") - FONT_STYLE_CC_STATEMENTS("") - TEXT_CLASS_STATEMENTS("") - SIZE_CLASS_STATEMENTS("") - {"data.item", st_data_item}, - {"data.file", st_data_file}, - FILTERS_STATEMENTS("") - {"collections.externals.external", st_externals_external}, /* dup */ - IMAGE_STATEMENTS("collections.") - IMAGE_SET_STATEMENTS("collections") - {"collections.font", st_fonts_font}, /* dup */ - FONT_STYLE_CC_STATEMENTS("collections.") - TEXT_CLASS_STATEMENTS("collections.") - SIZE_CLASS_STATEMENTS("collections.") - {"collections.base_scale", st_collections_base_scale}, - {"collections.translation.file.locale", st_collections_group_translation_file_locale}, - {"collections.translation.file.source", st_collections_group_translation_file_source}, - {"collections.group.translation.file.locale", st_collections_group_translation_file_locale}, - {"collections.group.translation.file.source", st_collections_group_translation_file_source}, + {"id", st_id}, + {"requires", st_requires}, + {"efl_version", st_efl_version}, + {"externals.external", st_externals_external}, + IMAGE_STATEMENTS("") + FONT_STYLE_CC_STATEMENTS("") + TEXT_CLASS_STATEMENTS("") + SIZE_CLASS_STATEMENTS("") + { + "data.item", st_data_item + }, + {"data.file", st_data_file}, + FILTERS_STATEMENTS("") + { + "collections.externals.external", st_externals_external + }, /* dup */ + IMAGE_STATEMENTS("collections.") + IMAGE_SET_STATEMENTS("collections") + { + "collections.font", st_fonts_font + }, /* dup */ + FONT_STYLE_CC_STATEMENTS("collections.") + TEXT_CLASS_STATEMENTS("collections.") + SIZE_CLASS_STATEMENTS("collections.") + { + "collections.base_scale", st_collections_base_scale + }, + {"collections.translation.file.locale", st_collections_group_translation_file_locale}, + {"collections.translation.file.source", st_collections_group_translation_file_source}, + {"collections.group.translation.file.locale", st_collections_group_translation_file_locale}, + {"collections.group.translation.file.source", st_collections_group_translation_file_source}, - {"collections.sounds.sample.name", st_collections_group_sound_sample_name}, - {"collections.sounds.sample.source", st_collections_group_sound_sample_source}, - {"collections.group.sounds.sample.name", st_collections_group_sound_sample_name}, /* dup */ - {"collections.group.sounds.sample.source", st_collections_group_sound_sample_source}, /* dup */ - {"collections.sounds.tone", st_collections_group_sound_tone}, - {"collections.group.sounds.tone", st_collections_group_sound_tone}, /* dup */ - {"collections.vibrations.sample.name", st_collections_group_vibration_sample_name}, - {"collections.vibrations.sample.source", st_collections_group_vibration_sample_source}, - FILTERS_STATEMENTS("collections.") /* dup */ - {"collections.group.vibrations.sample.name", st_collections_group_vibration_sample_name}, /* dup */ - {"collections.group.vibrations.sample.source", st_collections_group_vibration_sample_source}, /* dup */ - {"collections.group.name", st_collections_group_name}, - {"collections.group.program_source", st_collections_group_program_source}, - {"collections.group.inherit", st_collections_group_inherit}, - {"collections.group.inherit_only", st_collections_group_inherit_only}, - {"collections.group.use_custom_seat_names", st_collections_group_use_custom_seat_names}, - {"collections.group.target_group", st_collections_group_target_group}, /* dup */ - {"collections.group.part_remove", st_collections_group_part_remove}, - {"collections.group.program_remove", st_collections_group_program_remove}, - {"collections.group.lua_script_only", st_collections_group_lua_script_only}, - {"collections.group.script_recursion", st_collections_group_script_recursion}, - {"collections.group.alias", st_collections_group_alias}, - {"collections.group.min", st_collections_group_min}, - {"collections.group.max", st_collections_group_max}, - {"collections.group.scene_size", st_collections_group_scene_size}, - {"collections.group.broadcast_signal", st_collections_group_broadcast_signal}, - {"collections.group.orientation", st_collections_group_orientation}, - {"collections.group.mouse_events", st_collections_group_mouse_events}, - {"collections.group.inherit_script", st_collections_group_inherit_script}, - {"collections.group.data.item", st_collections_group_data_item}, - {"collections.group.limits.horizontal", st_collections_group_limits_horizontal}, - {"collections.group.limits.vertical", st_collections_group_limits_vertical}, - {"collections.group.externals.external", st_externals_external}, /* dup */ - {"collections.group.programs.target_group", st_collections_group_target_group}, /* dup */ - IMAGE_SET_STATEMENTS("collections.group") - IMAGE_STATEMENTS("collections.group.") - {"collections.group.models.model", st_models_model}, - {"collections.group.font", st_fonts_font}, /* dup */ - FONT_STYLE_CC_STATEMENTS("collections.group.") - TEXT_CLASS_STATEMENTS("collections.group.") - SIZE_CLASS_STATEMENTS("collections.group.") - {"collections.group.parts.alias", st_collections_group_parts_alias }, - IMAGE_SET_STATEMENTS("collections.group.parts") - IMAGE_STATEMENTS("collections.group.parts.") - {"collections.group.parts.font", st_fonts_font}, /* dup */ - FONT_STYLE_CC_STATEMENTS("collections.group.parts.") - TEXT_CLASS_STATEMENTS("collections.group.parts.") - SIZE_CLASS_STATEMENTS("collections.group.parts.") - {"collections.group.parts.target_group", st_collections_group_target_group}, /* dup */ - {"collections.group.parts.part.name", st_collections_group_parts_part_name}, - {"collections.group.parts.part.target_group", st_collections_group_target_group}, /* dup */ - {"collections.group.parts.part.inherit", st_collections_group_parts_part_inherit}, - {"collections.group.parts.part.api", st_collections_group_parts_part_api}, - {"collections.group.parts.part.type", st_collections_group_parts_part_type}, + {"collections.sounds.sample.name", st_collections_group_sound_sample_name}, + {"collections.sounds.sample.source", st_collections_group_sound_sample_source}, + {"collections.group.sounds.sample.name", st_collections_group_sound_sample_name}, /* dup */ + {"collections.group.sounds.sample.source", st_collections_group_sound_sample_source}, /* dup */ + {"collections.sounds.tone", st_collections_group_sound_tone}, + {"collections.group.sounds.tone", st_collections_group_sound_tone}, /* dup */ + {"collections.vibrations.sample.name", st_collections_group_vibration_sample_name}, + {"collections.vibrations.sample.source", st_collections_group_vibration_sample_source}, + FILTERS_STATEMENTS("collections.") /* dup */ + { + "collections.group.vibrations.sample.name", st_collections_group_vibration_sample_name + }, /* dup */ + {"collections.group.vibrations.sample.source", st_collections_group_vibration_sample_source}, /* dup */ + {"collections.group.name", st_collections_group_name}, + {"collections.group.skip_namespace_validation", st_collections_group_skip_namespace_validation}, + {"collections.group.program_source", st_collections_group_program_source}, + {"collections.group.inherit", st_collections_group_inherit}, + {"collections.group.inherit_only", st_collections_group_inherit_only}, + {"collections.group.use_custom_seat_names", st_collections_group_use_custom_seat_names}, + {"collections.group.target_group", st_collections_group_target_group}, /* dup */ + {"collections.group.part_remove", st_collections_group_part_remove}, + {"collections.group.program_remove", st_collections_group_program_remove}, + {"collections.group.lua_script_only", st_collections_group_lua_script_only}, + {"collections.group.script_recursion", st_collections_group_script_recursion}, + {"collections.group.alias", st_collections_group_alias}, + {"collections.group.min", st_collections_group_min}, + {"collections.group.max", st_collections_group_max}, + {"collections.group.scene_size", st_collections_group_scene_size}, + {"collections.group.broadcast_signal", st_collections_group_broadcast_signal}, + {"collections.group.orientation", st_collections_group_orientation}, + {"collections.group.mouse_events", st_collections_group_mouse_events}, + {"collections.group.inherit_script", st_collections_group_inherit_script}, + {"collections.group.data.item", st_collections_group_data_item}, + {"collections.group.limits.horizontal", st_collections_group_limits_horizontal}, + {"collections.group.limits.vertical", st_collections_group_limits_vertical}, + {"collections.group.externals.external", st_externals_external}, /* dup */ + {"collections.group.programs.target_group", st_collections_group_target_group}, /* dup */ + IMAGE_SET_STATEMENTS("collections.group") + IMAGE_STATEMENTS("collections.group.") + { + "collections.group.models.model", st_models_model + }, + {"collections.group.font", st_fonts_font}, /* dup */ + FONT_STYLE_CC_STATEMENTS("collections.group.") + TEXT_CLASS_STATEMENTS("collections.group.") + SIZE_CLASS_STATEMENTS("collections.group.") + { + "collections.group.parts.alias", st_collections_group_parts_alias + }, + IMAGE_SET_STATEMENTS("collections.group.parts") + IMAGE_STATEMENTS("collections.group.parts.") + { + "collections.group.parts.font", st_fonts_font + }, /* dup */ + FONT_STYLE_CC_STATEMENTS("collections.group.parts.") + TEXT_CLASS_STATEMENTS("collections.group.parts.") + SIZE_CLASS_STATEMENTS("collections.group.parts.") + { + "collections.group.parts.target_group", st_collections_group_target_group + }, /* dup */ + {"collections.group.parts.part.name", st_collections_group_parts_part_name}, + {"collections.group.parts.part.target_group", st_collections_group_target_group}, /* dup */ + {"collections.group.parts.part.inherit", st_collections_group_parts_part_inherit}, + {"collections.group.parts.part.api", st_collections_group_parts_part_api}, + {"collections.group.parts.part.type", st_collections_group_parts_part_type}, #ifdef HAVE_EPHYSICS - {"collections.group.parts.part.physics_body", st_collections_group_parts_part_physics_body}, + {"collections.group.parts.part.physics_body", st_collections_group_parts_part_physics_body}, #endif - {"collections.group.parts.part.insert_before", st_collections_group_parts_part_insert_before}, - {"collections.group.parts.part.insert_after", st_collections_group_parts_part_insert_after}, - {"collections.group.parts.part.effect", st_collections_group_parts_part_effect}, - {"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events}, - {"collections.group.parts.part.anti_alias", st_collections_group_parts_part_anti_alias}, - {"collections.group.parts.part.repeat_events", st_collections_group_parts_part_repeat_events}, - {"collections.group.parts.part.ignore_flags", st_collections_group_parts_part_ignore_flags}, - {"collections.group.parts.part.mask_flags", st_collections_group_parts_part_mask_flags}, - {"collections.group.parts.part.scale", st_collections_group_parts_part_scale}, - {"collections.group.parts.part.pointer_mode", st_collections_group_parts_part_pointer_mode}, - {"collections.group.parts.part.precise_is_inside", st_collections_group_parts_part_precise_is_inside}, - {"collections.group.parts.part.use_alternate_font_metrics", st_collections_group_parts_part_use_alternate_font_metrics}, - {"collections.group.parts.part.clip_to", st_collections_group_parts_part_clip_to_id}, - {"collections.group.parts.part.no_render", st_collections_group_parts_part_no_render}, - {"collections.group.parts.part.required", st_collections_group_parts_part_required}, - {"collections.group.parts.part.source", st_collections_group_parts_part_source}, - {"collections.group.parts.part.source2", st_collections_group_parts_part_source2}, - {"collections.group.parts.part.source3", st_collections_group_parts_part_source3}, - {"collections.group.parts.part.source4", st_collections_group_parts_part_source4}, - {"collections.group.parts.part.source5", st_collections_group_parts_part_source5}, - {"collections.group.parts.part.source6", st_collections_group_parts_part_source6}, - {"collections.group.parts.part.dragable.x", st_collections_group_parts_part_dragable_x}, - {"collections.group.parts.part.dragable.y", st_collections_group_parts_part_dragable_y}, - {"collections.group.parts.part.dragable.confine", st_collections_group_parts_part_dragable_confine}, - {"collections.group.parts.part.dragable.threshold", st_collections_group_parts_part_dragable_threshold}, - {"collections.group.parts.part.dragable.events", st_collections_group_parts_part_dragable_events}, - {"collections.group.parts.part.entry_mode", st_collections_group_parts_part_entry_mode}, - {"collections.group.parts.part.select_mode", st_collections_group_parts_part_select_mode}, - {"collections.group.parts.part.cursor_mode", st_collections_group_parts_part_cursor_mode}, - {"collections.group.parts.part.multiline", st_collections_group_parts_part_multiline}, - {"collections.group.parts.part.access", st_collections_group_parts_part_access}, - {"collections.group.parts.part.allowed_seats", st_collections_group_parts_part_allowed_seats}, - IMAGE_SET_STATEMENTS("collections.group.parts.part") - IMAGE_STATEMENTS("collections.group.parts.part.") - {"collections.group.parts.part.font", st_fonts_font}, /* dup */ - FONT_STYLE_CC_STATEMENTS("collections.group.parts.part.") - TEXT_CLASS_STATEMENTS("collections.group.parts.part.") - SIZE_CLASS_STATEMENTS("collections.group.parts.part.") - {"collections.group.parts.part.box.items.item.type", st_collections_group_parts_part_box_items_item_type}, - {"collections.group.parts.part.box.items.item.name", st_collections_group_parts_part_box_items_item_name}, - {"collections.group.parts.part.box.items.item.source", st_collections_group_parts_part_box_items_item_source}, - {"collections.group.parts.part.box.items.item.min", st_collections_group_parts_part_box_items_item_min}, - {"collections.group.parts.part.box.items.item.spread", st_collections_group_parts_part_box_items_item_spread}, - {"collections.group.parts.part.box.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer}, - {"collections.group.parts.part.box.items.item.max", st_collections_group_parts_part_box_items_item_max}, - {"collections.group.parts.part.box.items.item.padding", st_collections_group_parts_part_box_items_item_padding}, - {"collections.group.parts.part.box.items.item.align", st_collections_group_parts_part_box_items_item_align}, - {"collections.group.parts.part.box.items.item.weight", st_collections_group_parts_part_box_items_item_weight}, - {"collections.group.parts.part.box.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect}, - {"collections.group.parts.part.box.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode}, - {"collections.group.parts.part.box.items.item.options", st_collections_group_parts_part_box_items_item_options}, - {"collections.group.parts.part.table.items.item.type", st_collections_group_parts_part_box_items_item_type}, /* dup */ - {"collections.group.parts.part.table.items.item.name", st_collections_group_parts_part_box_items_item_name}, /* dup */ - {"collections.group.parts.part.table.items.item.source", st_collections_group_parts_part_box_items_item_source}, /* dup */ - {"collections.group.parts.part.table.items.item.min", st_collections_group_parts_part_box_items_item_min}, /* dup */ - {"collections.group.parts.part.table.items.item.spread", st_collections_group_parts_part_box_items_item_spread}, /* dup */ - {"collections.group.parts.part.table.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer}, /* dup */ - {"collections.group.parts.part.table.items.item.max", st_collections_group_parts_part_box_items_item_max}, /* dup */ - {"collections.group.parts.part.table.items.item.padding", st_collections_group_parts_part_box_items_item_padding}, /* dup */ - {"collections.group.parts.part.table.items.item.align", st_collections_group_parts_part_box_items_item_align}, /* dup */ - {"collections.group.parts.part.table.items.item.weight", st_collections_group_parts_part_box_items_item_weight}, /* dup */ - {"collections.group.parts.part.table.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect}, /* dup */ - {"collections.group.parts.part.table.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode}, /* dup */ - {"collections.group.parts.part.table.items.item.options", st_collections_group_parts_part_box_items_item_options}, /* dup */ - {"collections.group.parts.part.table.items.item.position", st_collections_group_parts_part_table_items_item_position}, - {"collections.group.parts.part.table.items.item.span", st_collections_group_parts_part_table_items_item_span}, - {"collections.group.parts.part.description.target_group", st_collections_group_target_group}, /* dup */ - {"collections.group.parts.part.description.inherit", st_collections_group_parts_part_description_inherit}, - {"collections.group.parts.part.description.link.base", st_collections_group_parts_part_description_link_base}, - {"collections.group.parts.part.description.link.transition", st_collections_group_programs_program_transition}, - {"collections.group.parts.part.description.link.after", st_collections_group_programs_program_after}, - {"collections.group.parts.part.description.link.in", st_collections_group_programs_program_in}, - {"collections.group.parts.part.description.source", st_collections_group_parts_part_description_source}, - {"collections.group.parts.part.description.state", st_collections_group_parts_part_description_state}, - {"collections.group.parts.part.description.visible", st_collections_group_parts_part_description_visible}, - {"collections.group.parts.part.description.limit", st_collections_group_parts_part_description_limit}, - {"collections.group.parts.part.description.no_render", st_collections_group_parts_part_description_no_render}, - {"collections.group.parts.part.description.align", st_collections_group_parts_part_description_align}, - {"collections.group.parts.part.description.fixed", st_collections_group_parts_part_description_fixed}, - {"collections.group.parts.part.description.min", st_collections_group_parts_part_description_min}, - {"collections.group.parts.part.description.minmul", st_collections_group_parts_part_description_minmul}, - {"collections.group.parts.part.description.max", st_collections_group_parts_part_description_max}, - {"collections.group.parts.part.description.step", st_collections_group_parts_part_description_step}, - {"collections.group.parts.part.description.aspect", st_collections_group_parts_part_description_aspect}, - {"collections.group.parts.part.description.aspect_preference", st_collections_group_parts_part_description_aspect_preference}, - {"collections.group.parts.part.description.rel.to", st_collections_group_parts_part_description_rel_to}, - {"collections.group.parts.part.description.rel.to_x", st_collections_group_parts_part_description_rel_to_x}, - {"collections.group.parts.part.description.rel.to_y", st_collections_group_parts_part_description_rel_to_y}, - {"collections.group.parts.part.description.rel1.relative", st_collections_group_parts_part_description_rel1_relative}, - {"collections.group.parts.part.description.rel1.offset", st_collections_group_parts_part_description_rel1_offset}, - {"collections.group.parts.part.description.rel1.to", st_collections_group_parts_part_description_rel1_to}, - {"collections.group.parts.part.description.rel1.to_x", st_collections_group_parts_part_description_rel1_to_x}, - {"collections.group.parts.part.description.rel1.to_y", st_collections_group_parts_part_description_rel1_to_y}, - {"collections.group.parts.part.description.rel2.relative", st_collections_group_parts_part_description_rel2_relative}, - {"collections.group.parts.part.description.rel2.offset", st_collections_group_parts_part_description_rel2_offset}, - {"collections.group.parts.part.description.rel2.to", st_collections_group_parts_part_description_rel2_to}, - {"collections.group.parts.part.description.rel2.to_x", st_collections_group_parts_part_description_rel2_to_x}, - {"collections.group.parts.part.description.rel2.to_y", st_collections_group_parts_part_description_rel2_to_y}, - {"collections.group.parts.part.description.offset_scale", st_collections_group_parts_part_description_offset_scale}, - {"collections.group.parts.part.description.anchors.top", st_collections_group_parts_part_description_anchors_top}, - {"collections.group.parts.part.description.anchors.bottom", st_collections_group_parts_part_description_anchors_bottom}, - {"collections.group.parts.part.description.anchors.left", st_collections_group_parts_part_description_anchors_left}, - {"collections.group.parts.part.description.anchors.right", st_collections_group_parts_part_description_anchors_right}, - {"collections.group.parts.part.description.anchors.vertical_center", st_collections_group_parts_part_description_anchors_vertical_center}, - {"collections.group.parts.part.description.anchors.horizontal_center", st_collections_group_parts_part_description_anchors_horizontal_center}, - {"collections.group.parts.part.description.anchors.fill", st_collections_group_parts_part_description_anchors_fill}, - {"collections.group.parts.part.description.anchors.margin", st_collections_group_parts_part_description_anchors_margin}, - {"collections.group.parts.part.description.clip_to", st_collections_group_parts_part_description_clip_to_id}, - {"collections.group.parts.part.description.size_class", st_collections_group_parts_part_description_size_class}, - {"collections.group.parts.part.description.image.normal", st_collections_group_parts_part_description_image_normal}, - {"collections.group.parts.part.description.image.tween", st_collections_group_parts_part_description_image_tween}, - IMAGE_SET_STATEMENTS("collections.group.parts.part.description.image") - IMAGE_STATEMENTS("collections.group.parts.part.description.image.") - {"collections.group.parts.part.description.image.border", st_collections_group_parts_part_description_image_border}, - {"collections.group.parts.part.description.image.middle", st_collections_group_parts_part_description_image_middle}, - {"collections.group.parts.part.description.image.border_scale", st_collections_group_parts_part_description_image_border_scale}, - {"collections.group.parts.part.description.image.border_scale_by", st_collections_group_parts_part_description_image_border_scale_by}, - {"collections.group.parts.part.description.image.scale_hint", st_collections_group_parts_part_description_image_scale_hint}, - {"collections.group.parts.part.description.fill.smooth", st_collections_group_parts_part_description_fill_smooth}, - {"collections.group.parts.part.description.fill.origin.relative", st_collections_group_parts_part_description_fill_origin_relative}, - {"collections.group.parts.part.description.fill.origin.offset", st_collections_group_parts_part_description_fill_origin_offset}, - {"collections.group.parts.part.description.fill.size.relative", st_collections_group_parts_part_description_fill_size_relative}, - {"collections.group.parts.part.description.fill.size.offset", st_collections_group_parts_part_description_fill_size_offset}, - {"collections.group.parts.part.description.fill.type", st_collections_group_parts_part_description_fill_type}, - {"collections.group.parts.part.description.color_class", st_collections_group_parts_part_description_color_class}, - {"collections.group.parts.part.description.color", st_collections_group_parts_part_description_color}, - {"collections.group.parts.part.description.color2", st_collections_group_parts_part_description_color2}, - {"collections.group.parts.part.description.color3", st_collections_group_parts_part_description_color3}, - {"collections.group.parts.part.description.text.text", st_collections_group_parts_part_description_text_text}, - {"collections.group.parts.part.description.text.domain", st_collections_group_parts_part_description_text_domain}, - {"collections.group.parts.part.description.text.text_class", st_collections_group_parts_part_description_text_text_class}, - {"collections.group.parts.part.description.text.font", st_collections_group_parts_part_description_text_font}, - {"collections.group.parts.part.description.text.style", st_collections_group_parts_part_description_text_style}, - {"collections.group.parts.part.description.text.repch", st_collections_group_parts_part_description_text_repch}, - {"collections.group.parts.part.description.text.size", st_collections_group_parts_part_description_text_size}, - {"collections.group.parts.part.description.text.size_range", st_collections_group_parts_part_description_text_size_range}, - {"collections.group.parts.part.description.text.fit", st_collections_group_parts_part_description_text_fit}, - {"collections.group.parts.part.description.text.min", st_collections_group_parts_part_description_text_min}, - {"collections.group.parts.part.description.text.max", st_collections_group_parts_part_description_text_max}, - {"collections.group.parts.part.description.text.align", st_collections_group_parts_part_description_text_align}, - {"collections.group.parts.part.description.text.source", st_collections_group_parts_part_description_text_source}, - {"collections.group.parts.part.description.text.text_source", st_collections_group_parts_part_description_text_text_source}, - {"collections.group.parts.part.description.text.font", st_fonts_font}, /* dup */ - {"collections.group.parts.part.description.text.fonts.font", st_fonts_font}, /* dup */ - {"collections.group.parts.part.description.text.elipsis", st_collections_group_parts_part_description_text_ellipsis}, - {"collections.group.parts.part.description.text.ellipsis", st_collections_group_parts_part_description_text_ellipsis}, - {"collections.group.parts.part.description.text.filter", st_collections_group_parts_part_description_filter_code}, /* dup */ - {"collections.group.parts.part.description.box.layout", st_collections_group_parts_part_description_box_layout}, - {"collections.group.parts.part.description.box.align", st_collections_group_parts_part_description_box_align}, - {"collections.group.parts.part.description.box.padding", st_collections_group_parts_part_description_box_padding}, - {"collections.group.parts.part.description.box.min", st_collections_group_parts_part_description_box_min}, - {"collections.group.parts.part.description.table.homogeneous", st_collections_group_parts_part_description_table_homogeneous}, - {"collections.group.parts.part.description.table.align", st_collections_group_parts_part_description_table_align}, - {"collections.group.parts.part.description.table.padding", st_collections_group_parts_part_description_table_padding}, - {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min}, - {"collections.group.parts.part.description.proxy.source_visible", st_collections_group_parts_part_description_proxy_source_visible}, - {"collections.group.parts.part.description.proxy.source_clip", st_collections_group_parts_part_description_proxy_source_clip}, - {"collections.group.parts.part.description.position.point", st_collections_group_parts_part_description_position_point}, - {"collections.group.parts.part.description.position.space", st_collections_group_parts_part_description_position_space}, - {"collections.group.parts.part.description.properties.perspective", st_collections_group_parts_part_description_camera_properties}, - {"collections.group.parts.part.description.properties.ambient", st_collections_group_parts_part_description_properties_ambient}, - {"collections.group.parts.part.description.properties.diffuse", st_collections_group_parts_part_description_properties_diffuse}, - {"collections.group.parts.part.description.properties.specular", st_collections_group_parts_part_description_properties_specular}, - {"collections.group.parts.part.description.properties.material", st_collections_group_parts_part_description_properties_material}, - {"collections.group.parts.part.description.properties.normal", st_collections_group_parts_part_description_properties_normal}, - {"collections.group.parts.part.description.properties.shininess", st_collections_group_parts_part_description_properties_shininess}, - {"collections.group.parts.part.description.properties.shade", st_collections_group_parts_part_description_properties_shade}, - {"collections.group.parts.part.description.mesh.primitive", st_collections_group_parts_part_description_mesh_primitive}, - {"collections.group.parts.part.description.orientation.look1", st_collections_group_parts_part_description_orientation_look1}, - {"collections.group.parts.part.description.orientation.look2", st_collections_group_parts_part_description_orientation_look2}, - {"collections.group.parts.part.description.orientation.look_to", st_collections_group_parts_part_description_orientation_look_to}, - {"collections.group.parts.part.description.orientation.angle_axis", st_collections_group_parts_part_description_orientation_angle_axis}, - {"collections.group.parts.part.description.orientation.quaternion", st_collections_group_parts_part_description_orientation_quaternion}, - {"collections.group.parts.part.description.scale", st_collections_group_parts_part_description_scale}, - {"collections.group.parts.part.description.texture.image", st_collections_group_parts_part_description_texture_image}, - {"collections.group.parts.part.description.texture.wrap1", st_collections_group_parts_part_description_texture_wrap1}, - {"collections.group.parts.part.description.texture.wrap2", st_collections_group_parts_part_description_texture_wrap2}, - {"collections.group.parts.part.description.texture.filter1", st_collections_group_parts_part_description_texture_filter1}, - {"collections.group.parts.part.description.texture.filter2", st_collections_group_parts_part_description_texture_filter2}, - {"collections.group.parts.part.description.mesh.assembly", st_collections_group_parts_part_description_mesh_assembly}, - {"collections.group.parts.part.description.mesh.geometry", st_collections_group_parts_part_description_mesh_geometry}, - {"collections.group.parts.part.description.mesh.frame", st_collections_group_parts_part_description_mesh_frame}, - {"collections.group.parts.part.description.filter.code", st_collections_group_parts_part_description_filter_code}, - {"collections.group.parts.part.description.filter.source", st_collections_group_parts_part_description_filter_source}, - {"collections.group.parts.part.description.filter.data", st_collections_group_parts_part_description_filter_data}, + {"collections.group.parts.part.insert_before", st_collections_group_parts_part_insert_before}, + {"collections.group.parts.part.insert_after", st_collections_group_parts_part_insert_after}, + {"collections.group.parts.part.effect", st_collections_group_parts_part_effect}, + {"collections.group.parts.part.mouse_events", st_collections_group_parts_part_mouse_events}, + {"collections.group.parts.part.anti_alias", st_collections_group_parts_part_anti_alias}, + {"collections.group.parts.part.repeat_events", st_collections_group_parts_part_repeat_events}, + {"collections.group.parts.part.ignore_flags", st_collections_group_parts_part_ignore_flags}, + {"collections.group.parts.part.mask_flags", st_collections_group_parts_part_mask_flags}, + {"collections.group.parts.part.scale", st_collections_group_parts_part_scale}, + {"collections.group.parts.part.pointer_mode", st_collections_group_parts_part_pointer_mode}, + {"collections.group.parts.part.precise_is_inside", st_collections_group_parts_part_precise_is_inside}, + {"collections.group.parts.part.use_alternate_font_metrics", st_collections_group_parts_part_use_alternate_font_metrics}, + {"collections.group.parts.part.clip_to", st_collections_group_parts_part_clip_to_id}, + {"collections.group.parts.part.no_render", st_collections_group_parts_part_no_render}, + {"collections.group.parts.part.required", st_collections_group_parts_part_required}, + {"collections.group.parts.part.source", st_collections_group_parts_part_source}, + {"collections.group.parts.part.source2", st_collections_group_parts_part_source2}, + {"collections.group.parts.part.source3", st_collections_group_parts_part_source3}, + {"collections.group.parts.part.source4", st_collections_group_parts_part_source4}, + {"collections.group.parts.part.source5", st_collections_group_parts_part_source5}, + {"collections.group.parts.part.source6", st_collections_group_parts_part_source6}, + {"collections.group.parts.part.dragable.x", st_collections_group_parts_part_dragable_x}, + {"collections.group.parts.part.dragable.y", st_collections_group_parts_part_dragable_y}, + {"collections.group.parts.part.dragable.confine", st_collections_group_parts_part_dragable_confine}, + {"collections.group.parts.part.dragable.threshold", st_collections_group_parts_part_dragable_threshold}, + {"collections.group.parts.part.dragable.events", st_collections_group_parts_part_dragable_events}, + {"collections.group.parts.part.entry_mode", st_collections_group_parts_part_entry_mode}, + {"collections.group.parts.part.select_mode", st_collections_group_parts_part_select_mode}, + {"collections.group.parts.part.cursor_mode", st_collections_group_parts_part_cursor_mode}, + {"collections.group.parts.part.multiline", st_collections_group_parts_part_multiline}, + {"collections.group.parts.part.access", st_collections_group_parts_part_access}, + {"collections.group.parts.part.allowed_seats", st_collections_group_parts_part_allowed_seats}, + IMAGE_SET_STATEMENTS("collections.group.parts.part") + IMAGE_STATEMENTS("collections.group.parts.part.") + { + "collections.group.parts.part.font", st_fonts_font + }, /* dup */ + FONT_STYLE_CC_STATEMENTS("collections.group.parts.part.") + TEXT_CLASS_STATEMENTS("collections.group.parts.part.") + SIZE_CLASS_STATEMENTS("collections.group.parts.part.") + { + "collections.group.parts.part.box.items.item.type", st_collections_group_parts_part_box_items_item_type + }, + {"collections.group.parts.part.box.items.item.name", st_collections_group_parts_part_box_items_item_name}, + {"collections.group.parts.part.box.items.item.source", st_collections_group_parts_part_box_items_item_source}, + {"collections.group.parts.part.box.items.item.min", st_collections_group_parts_part_box_items_item_min}, + {"collections.group.parts.part.box.items.item.spread", st_collections_group_parts_part_box_items_item_spread}, + {"collections.group.parts.part.box.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer}, + {"collections.group.parts.part.box.items.item.max", st_collections_group_parts_part_box_items_item_max}, + {"collections.group.parts.part.box.items.item.padding", st_collections_group_parts_part_box_items_item_padding}, + {"collections.group.parts.part.box.items.item.align", st_collections_group_parts_part_box_items_item_align}, + {"collections.group.parts.part.box.items.item.weight", st_collections_group_parts_part_box_items_item_weight}, + {"collections.group.parts.part.box.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect}, + {"collections.group.parts.part.box.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode}, + {"collections.group.parts.part.box.items.item.options", st_collections_group_parts_part_box_items_item_options}, + {"collections.group.parts.part.table.items.item.type", st_collections_group_parts_part_box_items_item_type}, /* dup */ + {"collections.group.parts.part.table.items.item.name", st_collections_group_parts_part_box_items_item_name}, /* dup */ + {"collections.group.parts.part.table.items.item.source", st_collections_group_parts_part_box_items_item_source}, /* dup */ + {"collections.group.parts.part.table.items.item.min", st_collections_group_parts_part_box_items_item_min}, /* dup */ + {"collections.group.parts.part.table.items.item.spread", st_collections_group_parts_part_box_items_item_spread}, /* dup */ + {"collections.group.parts.part.table.items.item.prefer", st_collections_group_parts_part_box_items_item_prefer}, /* dup */ + {"collections.group.parts.part.table.items.item.max", st_collections_group_parts_part_box_items_item_max}, /* dup */ + {"collections.group.parts.part.table.items.item.padding", st_collections_group_parts_part_box_items_item_padding}, /* dup */ + {"collections.group.parts.part.table.items.item.align", st_collections_group_parts_part_box_items_item_align}, /* dup */ + {"collections.group.parts.part.table.items.item.weight", st_collections_group_parts_part_box_items_item_weight}, /* dup */ + {"collections.group.parts.part.table.items.item.aspect", st_collections_group_parts_part_box_items_item_aspect}, /* dup */ + {"collections.group.parts.part.table.items.item.aspect_mode", st_collections_group_parts_part_box_items_item_aspect_mode}, /* dup */ + {"collections.group.parts.part.table.items.item.options", st_collections_group_parts_part_box_items_item_options}, /* dup */ + {"collections.group.parts.part.table.items.item.position", st_collections_group_parts_part_table_items_item_position}, + {"collections.group.parts.part.table.items.item.span", st_collections_group_parts_part_table_items_item_span}, + {"collections.group.parts.part.description.target_group", st_collections_group_target_group}, /* dup */ + {"collections.group.parts.part.description.inherit", st_collections_group_parts_part_description_inherit}, + {"collections.group.parts.part.description.link.base", st_collections_group_parts_part_description_link_base}, + {"collections.group.parts.part.description.link.transition", st_collections_group_programs_program_transition}, + {"collections.group.parts.part.description.link.after", st_collections_group_programs_program_after}, + {"collections.group.parts.part.description.link.in", st_collections_group_programs_program_in}, + {"collections.group.parts.part.description.source", st_collections_group_parts_part_description_source}, + {"collections.group.parts.part.description.state", st_collections_group_parts_part_description_state}, + {"collections.group.parts.part.description.visible", st_collections_group_parts_part_description_visible}, + {"collections.group.parts.part.description.limit", st_collections_group_parts_part_description_limit}, + {"collections.group.parts.part.description.no_render", st_collections_group_parts_part_description_no_render}, + {"collections.group.parts.part.description.align", st_collections_group_parts_part_description_align}, + {"collections.group.parts.part.description.fixed", st_collections_group_parts_part_description_fixed}, + {"collections.group.parts.part.description.min", st_collections_group_parts_part_description_min}, + {"collections.group.parts.part.description.minmul", st_collections_group_parts_part_description_minmul}, + {"collections.group.parts.part.description.max", st_collections_group_parts_part_description_max}, + {"collections.group.parts.part.description.step", st_collections_group_parts_part_description_step}, + {"collections.group.parts.part.description.aspect", st_collections_group_parts_part_description_aspect}, + {"collections.group.parts.part.description.aspect_preference", st_collections_group_parts_part_description_aspect_preference}, + {"collections.group.parts.part.description.rel.to", st_collections_group_parts_part_description_rel_to}, + {"collections.group.parts.part.description.rel.to_x", st_collections_group_parts_part_description_rel_to_x}, + {"collections.group.parts.part.description.rel.to_y", st_collections_group_parts_part_description_rel_to_y}, + {"collections.group.parts.part.description.rel1.relative", st_collections_group_parts_part_description_rel1_relative}, + {"collections.group.parts.part.description.rel1.offset", st_collections_group_parts_part_description_rel1_offset}, + {"collections.group.parts.part.description.rel1.to", st_collections_group_parts_part_description_rel1_to}, + {"collections.group.parts.part.description.rel1.to_x", st_collections_group_parts_part_description_rel1_to_x}, + {"collections.group.parts.part.description.rel1.to_y", st_collections_group_parts_part_description_rel1_to_y}, + {"collections.group.parts.part.description.rel2.relative", st_collections_group_parts_part_description_rel2_relative}, + {"collections.group.parts.part.description.rel2.offset", st_collections_group_parts_part_description_rel2_offset}, + {"collections.group.parts.part.description.rel2.to", st_collections_group_parts_part_description_rel2_to}, + {"collections.group.parts.part.description.rel2.to_x", st_collections_group_parts_part_description_rel2_to_x}, + {"collections.group.parts.part.description.rel2.to_y", st_collections_group_parts_part_description_rel2_to_y}, + {"collections.group.parts.part.description.offset_scale", st_collections_group_parts_part_description_offset_scale}, + {"collections.group.parts.part.description.anchors.top", st_collections_group_parts_part_description_anchors_top}, + {"collections.group.parts.part.description.anchors.bottom", st_collections_group_parts_part_description_anchors_bottom}, + {"collections.group.parts.part.description.anchors.left", st_collections_group_parts_part_description_anchors_left}, + {"collections.group.parts.part.description.anchors.right", st_collections_group_parts_part_description_anchors_right}, + {"collections.group.parts.part.description.anchors.vertical_center", st_collections_group_parts_part_description_anchors_vertical_center}, + {"collections.group.parts.part.description.anchors.horizontal_center", st_collections_group_parts_part_description_anchors_horizontal_center}, + {"collections.group.parts.part.description.anchors.fill", st_collections_group_parts_part_description_anchors_fill}, + {"collections.group.parts.part.description.anchors.margin", st_collections_group_parts_part_description_anchors_margin}, + {"collections.group.parts.part.description.clip_to", st_collections_group_parts_part_description_clip_to_id}, + {"collections.group.parts.part.description.size_class", st_collections_group_parts_part_description_size_class}, + {"collections.group.parts.part.description.image.normal", st_collections_group_parts_part_description_image_normal}, + {"collections.group.parts.part.description.image.tween", st_collections_group_parts_part_description_image_tween}, + IMAGE_SET_STATEMENTS("collections.group.parts.part.description.image") + IMAGE_STATEMENTS("collections.group.parts.part.description.image.") + { + "collections.group.parts.part.description.image.border", st_collections_group_parts_part_description_image_border + }, + {"collections.group.parts.part.description.image.middle", st_collections_group_parts_part_description_image_middle}, + {"collections.group.parts.part.description.image.border_scale", st_collections_group_parts_part_description_image_border_scale}, + {"collections.group.parts.part.description.image.border_scale_by", st_collections_group_parts_part_description_image_border_scale_by}, + {"collections.group.parts.part.description.image.scale_hint", st_collections_group_parts_part_description_image_scale_hint}, + {"collections.group.parts.part.description.fill.smooth", st_collections_group_parts_part_description_fill_smooth}, + {"collections.group.parts.part.description.fill.origin.relative", st_collections_group_parts_part_description_fill_origin_relative}, + {"collections.group.parts.part.description.fill.origin.offset", st_collections_group_parts_part_description_fill_origin_offset}, + {"collections.group.parts.part.description.fill.size.relative", st_collections_group_parts_part_description_fill_size_relative}, + {"collections.group.parts.part.description.fill.size.offset", st_collections_group_parts_part_description_fill_size_offset}, + {"collections.group.parts.part.description.fill.type", st_collections_group_parts_part_description_fill_type}, + {"collections.group.parts.part.description.color_class", st_collections_group_parts_part_description_color_class}, + {"collections.group.parts.part.description.color", st_collections_group_parts_part_description_color}, + {"collections.group.parts.part.description.color2", st_collections_group_parts_part_description_color2}, + {"collections.group.parts.part.description.color3", st_collections_group_parts_part_description_color3}, + {"collections.group.parts.part.description.text.text", st_collections_group_parts_part_description_text_text}, + {"collections.group.parts.part.description.text.domain", st_collections_group_parts_part_description_text_domain}, + {"collections.group.parts.part.description.text.text_class", st_collections_group_parts_part_description_text_text_class}, + {"collections.group.parts.part.description.text.font", st_collections_group_parts_part_description_text_font}, + {"collections.group.parts.part.description.text.style", st_collections_group_parts_part_description_text_style}, + {"collections.group.parts.part.description.text.repch", st_collections_group_parts_part_description_text_repch}, + {"collections.group.parts.part.description.text.size", st_collections_group_parts_part_description_text_size}, + {"collections.group.parts.part.description.text.size_range", st_collections_group_parts_part_description_text_size_range}, + {"collections.group.parts.part.description.text.fit", st_collections_group_parts_part_description_text_fit}, + {"collections.group.parts.part.description.text.min", st_collections_group_parts_part_description_text_min}, + {"collections.group.parts.part.description.text.max", st_collections_group_parts_part_description_text_max}, + {"collections.group.parts.part.description.text.align", st_collections_group_parts_part_description_text_align}, + {"collections.group.parts.part.description.text.source", st_collections_group_parts_part_description_text_source}, + {"collections.group.parts.part.description.text.text_source", st_collections_group_parts_part_description_text_text_source}, + {"collections.group.parts.part.description.text.font", st_fonts_font}, /* dup */ + {"collections.group.parts.part.description.text.fonts.font", st_fonts_font}, /* dup */ + {"collections.group.parts.part.description.text.elipsis", st_collections_group_parts_part_description_text_ellipsis}, + {"collections.group.parts.part.description.text.ellipsis", st_collections_group_parts_part_description_text_ellipsis}, + {"collections.group.parts.part.description.text.filter", st_collections_group_parts_part_description_filter_code}, /* dup */ + {"collections.group.parts.part.description.box.layout", st_collections_group_parts_part_description_box_layout}, + {"collections.group.parts.part.description.box.align", st_collections_group_parts_part_description_box_align}, + {"collections.group.parts.part.description.box.padding", st_collections_group_parts_part_description_box_padding}, + {"collections.group.parts.part.description.box.min", st_collections_group_parts_part_description_box_min}, + {"collections.group.parts.part.description.table.homogeneous", st_collections_group_parts_part_description_table_homogeneous}, + {"collections.group.parts.part.description.table.align", st_collections_group_parts_part_description_table_align}, + {"collections.group.parts.part.description.table.padding", st_collections_group_parts_part_description_table_padding}, + {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min}, + {"collections.group.parts.part.description.proxy.source_visible", st_collections_group_parts_part_description_proxy_source_visible}, + {"collections.group.parts.part.description.proxy.source_clip", st_collections_group_parts_part_description_proxy_source_clip}, + {"collections.group.parts.part.description.position.point", st_collections_group_parts_part_description_position_point}, + {"collections.group.parts.part.description.position.space", st_collections_group_parts_part_description_position_space}, + {"collections.group.parts.part.description.properties.perspective", st_collections_group_parts_part_description_camera_properties}, + {"collections.group.parts.part.description.properties.ambient", st_collections_group_parts_part_description_properties_ambient}, + {"collections.group.parts.part.description.properties.diffuse", st_collections_group_parts_part_description_properties_diffuse}, + {"collections.group.parts.part.description.properties.specular", st_collections_group_parts_part_description_properties_specular}, + {"collections.group.parts.part.description.properties.material", st_collections_group_parts_part_description_properties_material}, + {"collections.group.parts.part.description.properties.normal", st_collections_group_parts_part_description_properties_normal}, + {"collections.group.parts.part.description.properties.shininess", st_collections_group_parts_part_description_properties_shininess}, + {"collections.group.parts.part.description.properties.shade", st_collections_group_parts_part_description_properties_shade}, + {"collections.group.parts.part.description.mesh.primitive", st_collections_group_parts_part_description_mesh_primitive}, + {"collections.group.parts.part.description.orientation.look1", st_collections_group_parts_part_description_orientation_look1}, + {"collections.group.parts.part.description.orientation.look2", st_collections_group_parts_part_description_orientation_look2}, + {"collections.group.parts.part.description.orientation.look_to", st_collections_group_parts_part_description_orientation_look_to}, + {"collections.group.parts.part.description.orientation.angle_axis", st_collections_group_parts_part_description_orientation_angle_axis}, + {"collections.group.parts.part.description.orientation.quaternion", st_collections_group_parts_part_description_orientation_quaternion}, + {"collections.group.parts.part.description.scale", st_collections_group_parts_part_description_scale}, + {"collections.group.parts.part.description.texture.image", st_collections_group_parts_part_description_texture_image}, + {"collections.group.parts.part.description.texture.wrap1", st_collections_group_parts_part_description_texture_wrap1}, + {"collections.group.parts.part.description.texture.wrap2", st_collections_group_parts_part_description_texture_wrap2}, + {"collections.group.parts.part.description.texture.filter1", st_collections_group_parts_part_description_texture_filter1}, + {"collections.group.parts.part.description.texture.filter2", st_collections_group_parts_part_description_texture_filter2}, + {"collections.group.parts.part.description.mesh.assembly", st_collections_group_parts_part_description_mesh_assembly}, + {"collections.group.parts.part.description.mesh.geometry", st_collections_group_parts_part_description_mesh_geometry}, + {"collections.group.parts.part.description.mesh.frame", st_collections_group_parts_part_description_mesh_frame}, + {"collections.group.parts.part.description.filter.code", st_collections_group_parts_part_description_filter_code}, + {"collections.group.parts.part.description.filter.source", st_collections_group_parts_part_description_filter_source}, + {"collections.group.parts.part.description.filter.data", st_collections_group_parts_part_description_filter_data}, #ifdef HAVE_EPHYSICS - {"collections.group.parts.part.description.physics.mass", st_collections_group_parts_part_description_physics_mass}, - {"collections.group.parts.part.description.physics.restitution", st_collections_group_parts_part_description_physics_restitution}, - {"collections.group.parts.part.description.physics.friction", st_collections_group_parts_part_description_physics_friction}, - {"collections.group.parts.part.description.physics.damping", st_collections_group_parts_part_description_physics_damping}, - {"collections.group.parts.part.description.physics.sleep", st_collections_group_parts_part_description_physics_sleep}, - {"collections.group.parts.part.description.physics.material", st_collections_group_parts_part_description_physics_material}, - {"collections.group.parts.part.description.physics.density", st_collections_group_parts_part_description_physics_density}, - {"collections.group.parts.part.description.physics.hardness", st_collections_group_parts_part_description_physics_hardness}, - {"collections.group.parts.part.description.physics.movement_freedom.linear", st_collections_group_parts_part_description_physics_movement_freedom_linear}, - {"collections.group.parts.part.description.physics.movement_freedom.angular", st_collections_group_parts_part_description_physics_movement_freedom_angular}, - {"collections.group.parts.part.description.physics.ignore_part_pos", st_collections_group_parts_part_description_physics_ignore_part_pos}, - {"collections.group.parts.part.description.physics.light_on", st_collections_group_parts_part_description_physics_light_on}, - {"collections.group.parts.part.description.physics.z", st_collections_group_parts_part_description_physics_z}, - {"collections.group.parts.part.description.physics.depth", st_collections_group_parts_part_description_physics_depth}, - {"collections.group.parts.part.description.physics.backface_cull", st_collections_group_parts_part_description_physics_backface_cull}, - {"collections.group.parts.part.description.physics.faces.face.type", st_collections_group_parts_part_description_physics_face_type}, - {"collections.group.parts.part.description.physics.faces.face.source", st_collections_group_parts_part_description_physics_face_source}, + {"collections.group.parts.part.description.physics.mass", st_collections_group_parts_part_description_physics_mass}, + {"collections.group.parts.part.description.physics.restitution", st_collections_group_parts_part_description_physics_restitution}, + {"collections.group.parts.part.description.physics.friction", st_collections_group_parts_part_description_physics_friction}, + {"collections.group.parts.part.description.physics.damping", st_collections_group_parts_part_description_physics_damping}, + {"collections.group.parts.part.description.physics.sleep", st_collections_group_parts_part_description_physics_sleep}, + {"collections.group.parts.part.description.physics.material", st_collections_group_parts_part_description_physics_material}, + {"collections.group.parts.part.description.physics.density", st_collections_group_parts_part_description_physics_density}, + {"collections.group.parts.part.description.physics.hardness", st_collections_group_parts_part_description_physics_hardness}, + {"collections.group.parts.part.description.physics.movement_freedom.linear", st_collections_group_parts_part_description_physics_movement_freedom_linear}, + {"collections.group.parts.part.description.physics.movement_freedom.angular", st_collections_group_parts_part_description_physics_movement_freedom_angular}, + {"collections.group.parts.part.description.physics.ignore_part_pos", st_collections_group_parts_part_description_physics_ignore_part_pos}, + {"collections.group.parts.part.description.physics.light_on", st_collections_group_parts_part_description_physics_light_on}, + {"collections.group.parts.part.description.physics.z", st_collections_group_parts_part_description_physics_z}, + {"collections.group.parts.part.description.physics.depth", st_collections_group_parts_part_description_physics_depth}, + {"collections.group.parts.part.description.physics.backface_cull", st_collections_group_parts_part_description_physics_backface_cull}, + {"collections.group.parts.part.description.physics.faces.face.type", st_collections_group_parts_part_description_physics_face_type}, + {"collections.group.parts.part.description.physics.faces.face.source", st_collections_group_parts_part_description_physics_face_source}, #endif - {"collections.group.parts.part.description.map.perspective", st_collections_group_parts_part_description_map_perspective}, - {"collections.group.parts.part.description.map.light", st_collections_group_parts_part_description_map_light}, - {"collections.group.parts.part.description.map.rotation.center", st_collections_group_parts_part_description_map_rotation_center}, - {"collections.group.parts.part.description.map.rotation.x", st_collections_group_parts_part_description_map_rotation_x}, - {"collections.group.parts.part.description.map.rotation.y", st_collections_group_parts_part_description_map_rotation_y}, - {"collections.group.parts.part.description.map.rotation.z", st_collections_group_parts_part_description_map_rotation_z}, - {"collections.group.parts.part.description.map.on", st_collections_group_parts_part_description_map_on}, - {"collections.group.parts.part.description.map.smooth", st_collections_group_parts_part_description_map_smooth}, - {"collections.group.parts.part.description.map.alpha", st_collections_group_parts_part_description_map_alpha}, - {"collections.group.parts.part.description.map.backface_cull", st_collections_group_parts_part_description_map_backface_cull}, - {"collections.group.parts.part.description.map.perspective_on", st_collections_group_parts_part_description_map_perspective_on}, - {"collections.group.parts.part.description.map.color", st_collections_group_parts_part_description_map_color}, - {"collections.group.parts.part.description.map.zoom.x", st_collections_group_parts_part_description_map_zoom_x}, - {"collections.group.parts.part.description.map.zoom.y", st_collections_group_parts_part_description_map_zoom_y}, - {"collections.group.parts.part.description.perspective.zplane", st_collections_group_parts_part_description_perspective_zplane}, - {"collections.group.parts.part.description.perspective.focal", st_collections_group_parts_part_description_perspective_focal}, - {"collections.group.parts.part.description.params.int", st_collections_group_parts_part_description_params_int}, - {"collections.group.parts.part.description.params.double", st_collections_group_parts_part_description_params_double}, - {"collections.group.parts.part.description.params.string", st_collections_group_parts_part_description_params_string}, - {"collections.group.parts.part.description.params.bool", st_collections_group_parts_part_description_params_bool}, - {"collections.group.parts.part.description.params.choice", st_collections_group_parts_part_description_params_choice}, - {"collections.group.parts.part.description.params.*", st_collections_group_parts_part_description_params_smart}, - IMAGE_STATEMENTS("collections.group.parts.part.description.") - {"collections.group.parts.part.description.font", st_fonts_font}, /* dup */ - FONT_STYLE_CC_STATEMENTS("collections.group.parts.part.description.") - TEXT_CLASS_STATEMENTS("collections.group.parts.part.description.") - SIZE_CLASS_STATEMENTS("collections.group.parts.part.description.") + {"collections.group.parts.part.description.map.perspective", st_collections_group_parts_part_description_map_perspective}, + {"collections.group.parts.part.description.map.light", st_collections_group_parts_part_description_map_light}, + {"collections.group.parts.part.description.map.rotation.center", st_collections_group_parts_part_description_map_rotation_center}, + {"collections.group.parts.part.description.map.rotation.x", st_collections_group_parts_part_description_map_rotation_x}, + {"collections.group.parts.part.description.map.rotation.y", st_collections_group_parts_part_description_map_rotation_y}, + {"collections.group.parts.part.description.map.rotation.z", st_collections_group_parts_part_description_map_rotation_z}, + {"collections.group.parts.part.description.map.on", st_collections_group_parts_part_description_map_on}, + {"collections.group.parts.part.description.map.smooth", st_collections_group_parts_part_description_map_smooth}, + {"collections.group.parts.part.description.map.alpha", st_collections_group_parts_part_description_map_alpha}, + {"collections.group.parts.part.description.map.backface_cull", st_collections_group_parts_part_description_map_backface_cull}, + {"collections.group.parts.part.description.map.perspective_on", st_collections_group_parts_part_description_map_perspective_on}, + {"collections.group.parts.part.description.map.color", st_collections_group_parts_part_description_map_color}, + {"collections.group.parts.part.description.map.zoom.x", st_collections_group_parts_part_description_map_zoom_x}, + {"collections.group.parts.part.description.map.zoom.y", st_collections_group_parts_part_description_map_zoom_y}, + {"collections.group.parts.part.description.perspective.zplane", st_collections_group_parts_part_description_perspective_zplane}, + {"collections.group.parts.part.description.perspective.focal", st_collections_group_parts_part_description_perspective_focal}, + {"collections.group.parts.part.description.params.int", st_collections_group_parts_part_description_params_int}, + {"collections.group.parts.part.description.params.double", st_collections_group_parts_part_description_params_double}, + {"collections.group.parts.part.description.params.string", st_collections_group_parts_part_description_params_string}, + {"collections.group.parts.part.description.params.bool", st_collections_group_parts_part_description_params_bool}, + {"collections.group.parts.part.description.params.choice", st_collections_group_parts_part_description_params_choice}, + {"collections.group.parts.part.description.params.*", st_collections_group_parts_part_description_params_smart}, + IMAGE_STATEMENTS("collections.group.parts.part.description.") + { + "collections.group.parts.part.description.font", st_fonts_font + }, /* dup */ + FONT_STYLE_CC_STATEMENTS("collections.group.parts.part.description.") + TEXT_CLASS_STATEMENTS("collections.group.parts.part.description.") + SIZE_CLASS_STATEMENTS("collections.group.parts.part.description.") #ifdef HAVE_EPHYSICS - {"collections.group.physics.world.gravity", st_collections_group_physics_world_gravity}, - {"collections.group.physics.world.rate", st_collections_group_physics_world_rate}, - {"collections.group.physics.world.z", st_collections_group_physics_world_z}, - {"collections.group.physics.world.depth", st_collections_group_physics_world_depth}, + { + "collections.group.physics.world.gravity", st_collections_group_physics_world_gravity + }, + {"collections.group.physics.world.rate", st_collections_group_physics_world_rate}, + {"collections.group.physics.world.z", st_collections_group_physics_world_z}, + {"collections.group.physics.world.depth", st_collections_group_physics_world_depth}, #endif - FILTERS_STATEMENTS("collections.group.") /* dup */ - PROGRAM_STATEMENTS("collections.group.parts.part.description") - PROGRAM_STATEMENTS("collections.group.parts.part") - PROGRAM_STATEMENTS("collections.group.parts") - PROGRAM_STATEMENTS("collections.group") + FILTERS_STATEMENTS("collections.group.") /* dup */ + PROGRAM_STATEMENTS("collections.group.parts.part.description") + PROGRAM_STATEMENTS("collections.group.parts.part") + PROGRAM_STATEMENTS("collections.group.parts") + PROGRAM_STATEMENTS("collections.group") }; /** @edcsection{lazedc, @@ -1088,7 +1121,7 @@ New_Statement_Handler statement_handlers[] = if a block name is the same as an existing EDC keyword. @since 1.10 @endblock -*/ + */ /** @edcsubsection{lazedc_synonyms, * LazEDC Synonyms} */ @@ -1123,19 +1156,18 @@ New_Statement_Handler statement_handlers[] = These statements on the left are identical to their original keywords on the right. @since 1.10 @endblock -*/ - + */ New_Statement_Handler statement_handlers_short[] = { - {"collections.group.parts.part.before", st_collections_group_parts_part_insert_before}, - {"collections.group.parts.part.after", st_collections_group_parts_part_insert_after}, - {"collections.group.parts.part.ignore", st_collections_group_parts_part_ignore_flags}, - {"collections.group.parts.part.mask", st_collections_group_parts_part_mask_flags}, - {"collections.group.parts.part.pointer", st_collections_group_parts_part_pointer_mode}, - {"collections.group.parts.part.alt_font", st_collections_group_parts_part_use_alternate_font_metrics}, - {"collections.group.parts.part.clip", st_collections_group_parts_part_clip_to_id}, - {"collections.group.parts.part.description.clip", st_collections_group_parts_part_description_clip_to_id}, + {"collections.group.parts.part.before", st_collections_group_parts_part_insert_before}, + {"collections.group.parts.part.after", st_collections_group_parts_part_insert_after}, + {"collections.group.parts.part.ignore", st_collections_group_parts_part_ignore_flags}, + {"collections.group.parts.part.mask", st_collections_group_parts_part_mask_flags}, + {"collections.group.parts.part.pointer", st_collections_group_parts_part_pointer_mode}, + {"collections.group.parts.part.alt_font", st_collections_group_parts_part_use_alternate_font_metrics}, + {"collections.group.parts.part.clip", st_collections_group_parts_part_clip_to_id}, + {"collections.group.parts.part.description.clip", st_collections_group_parts_part_description_clip_to_id}, }; /** @edcsubsection{lazedc_shorthand, @@ -1181,31 +1213,31 @@ New_Statement_Handler statement_handlers_short[] = but they are shorter. @since 1.10 @endblock -*/ + */ New_Statement_Handler statement_handlers_short_single[] = { - {"collections.group.parts.part.mouse", st_collections_group_parts_part_mouse}, - {"collections.group.parts.part.nomouse", st_collections_group_parts_part_nomouse}, - {"collections.group.parts.part.repeat", st_collections_group_parts_part_repeat}, - {"collections.group.parts.part.norepeat", st_collections_group_parts_part_norepeat}, - {"collections.group.parts.part.precise", st_collections_group_parts_part_precise}, - {"collections.group.parts.part.noprecise", st_collections_group_parts_part_noprecise}, - {"collections.group.parts.part.scale", st_collections_group_parts_part_scale}, - {"collections.group.parts.part.noscale", st_collections_group_parts_part_noscale}, - {"collections.group.parts.part.render", st_collections_group_parts_part_render}, - {"collections.group.parts.part.norender", st_collections_group_parts_part_no_render}, - {"collections.group.parts.part.required", st_collections_group_parts_part_required}, - {"collections.group.parts.part.norequired", st_collections_group_parts_part_norequired}, - {"collections.group.parts.part.description.vis", st_collections_group_parts_part_description_vis}, - {"collections.group.parts.part.description.hid", st_collections_group_parts_part_description_hid}, - {"collections.group.parts.part.description.offscale", st_collections_group_parts_part_description_offset_scale}, - {"collections.group.mouse", st_collections_group_mouse}, - {"collections.group.nomouse", st_collections_group_nomouse}, - {"collections.group.broadcast", st_collections_group_broadcast}, - {"collections.group.nobroadcast", st_collections_group_nobroadcast}, - {"collections.group.inherit_script", st_collections_group_inherit_script}, - {"collections.group.noinherit_script", st_collections_group_noinherit_script}, - {"collections.group.parts.part.description.inherit", st_collections_group_parts_part_description_inherit}, + {"collections.group.parts.part.mouse", st_collections_group_parts_part_mouse}, + {"collections.group.parts.part.nomouse", st_collections_group_parts_part_nomouse}, + {"collections.group.parts.part.repeat", st_collections_group_parts_part_repeat}, + {"collections.group.parts.part.norepeat", st_collections_group_parts_part_norepeat}, + {"collections.group.parts.part.precise", st_collections_group_parts_part_precise}, + {"collections.group.parts.part.noprecise", st_collections_group_parts_part_noprecise}, + {"collections.group.parts.part.scale", st_collections_group_parts_part_scale}, + {"collections.group.parts.part.noscale", st_collections_group_parts_part_noscale}, + {"collections.group.parts.part.render", st_collections_group_parts_part_render}, + {"collections.group.parts.part.norender", st_collections_group_parts_part_no_render}, + {"collections.group.parts.part.required", st_collections_group_parts_part_required}, + {"collections.group.parts.part.norequired", st_collections_group_parts_part_norequired}, + {"collections.group.parts.part.description.vis", st_collections_group_parts_part_description_vis}, + {"collections.group.parts.part.description.hid", st_collections_group_parts_part_description_hid}, + {"collections.group.parts.part.description.offscale", st_collections_group_parts_part_description_offset_scale}, + {"collections.group.mouse", st_collections_group_mouse}, + {"collections.group.nomouse", st_collections_group_nomouse}, + {"collections.group.broadcast", st_collections_group_broadcast}, + {"collections.group.nobroadcast", st_collections_group_nobroadcast}, + {"collections.group.inherit_script", st_collections_group_inherit_script}, + {"collections.group.noinherit_script", st_collections_group_noinherit_script}, + {"collections.group.parts.part.description.inherit", st_collections_group_parts_part_description_inherit}, }; /** @edcsubsection{lazedc_external_params, @@ -1241,7 +1273,7 @@ New_Statement_Handler statement_handlers_short_single[] = String without quotes except for 'true' or 'false' is considered as a choice. @since 1.18 @endblock -*/ + */ static Edje_External_Param_Type _parse_external_param_type(char *token) { @@ -1306,7 +1338,7 @@ st_collections_group_parts_part_description_params_smart(void) exit(-1); } - ed = (Edje_Part_Description_External*) current_desc; + ed = (Edje_Part_Description_External *)current_desc; last = eina_list_last_data_get(stack); if (!strncmp(last, "params.", strlen("params."))) @@ -1341,25 +1373,29 @@ st_collections_group_parts_part_description_params_smart(void) switch (param->type) { case EDJE_EXTERNAL_PARAM_TYPE_BOOL: - if (!strcmp(token, "true")) - param->i = 1; - else if (!strcmp(token, "false")) - param->i = 0; - break; + if (!strcmp(token, "true")) + param->i = 1; + else if (!strcmp(token, "false")) + param->i = 0; + break; + case EDJE_EXTERNAL_PARAM_TYPE_INT: - param->i = parse_int(0); - break; + param->i = parse_int(0); + break; + case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: - param->d = parse_float(0); - break; + param->d = parse_float(0); + break; + case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: case EDJE_EXTERNAL_PARAM_TYPE_STRING: - param->s = parse_str(0); - break; + param->s = parse_str(0); + break; + default: - ERR("parse error %s:%i. Invalid param type.", - file_in, line - 1); - break; + ERR("parse error %s:%i. Invalid param type.", + file_in, line - 1); + break; } if (!found) @@ -1368,196 +1404,196 @@ st_collections_group_parts_part_description_params_smart(void) free(token); } -#define PROGRAM_OBJECTS(PREFIX) \ - {PREFIX".program", ob_collections_group_programs_program}, /* dup */ \ - {PREFIX".program.script", ob_collections_group_programs_program_script}, /* dup */ \ - {PREFIX".program.sequence.script", ob_collections_group_programs_program_script}, /* dup */ \ - {PREFIX".program.sequence", ob_collections_group_programs_program_sequence}, /* dup */ \ - {PREFIX".programs", NULL}, /* dup */ \ - {PREFIX".programs.set", ob_images_set}, /* dup */ \ - {PREFIX".programs.set.image", ob_images_set_image}, /* dup */ \ - {PREFIX".programs.images", NULL}, /* dup */ \ - {PREFIX".programs.images.set", ob_images_set}, /* dup */ \ - {PREFIX".programs.images.set.image", ob_images_set_image}, /* dup */ \ - {PREFIX".programs.fonts", NULL}, /* dup */ \ - {PREFIX".programs.program", ob_collections_group_programs_program}, /* dup */ \ - {PREFIX".programs.program.script", ob_collections_group_programs_program_script}, /* dup */ \ - {PREFIX".programs.program.sequence", ob_collections_group_programs_program_sequence}, /* dup */ \ - {PREFIX".programs.program.sequence.script", ob_collections_group_programs_program_script}, /* dup */ \ - {PREFIX".programs.script", ob_collections_group_script}, /* dup */ \ - {PREFIX".script", ob_collections_group_script}, /* dup */ +#define PROGRAM_OBJECTS(PREFIX) \ + {PREFIX ".program", ob_collections_group_programs_program}, /* dup */ \ + {PREFIX ".program.script", ob_collections_group_programs_program_script}, /* dup */ \ + {PREFIX ".program.sequence.script", ob_collections_group_programs_program_script}, /* dup */ \ + {PREFIX ".program.sequence", ob_collections_group_programs_program_sequence}, /* dup */ \ + {PREFIX ".programs", NULL}, /* dup */ \ + {PREFIX ".programs.set", ob_images_set}, /* dup */ \ + {PREFIX ".programs.set.image", ob_images_set_image}, /* dup */ \ + {PREFIX ".programs.images", NULL}, /* dup */ \ + {PREFIX ".programs.images.set", ob_images_set}, /* dup */ \ + {PREFIX ".programs.images.set.image", ob_images_set_image}, /* dup */ \ + {PREFIX ".programs.fonts", NULL}, /* dup */ \ + {PREFIX ".programs.program", ob_collections_group_programs_program}, /* dup */ \ + {PREFIX ".programs.program.script", ob_collections_group_programs_program_script}, /* dup */ \ + {PREFIX ".programs.program.sequence", ob_collections_group_programs_program_sequence}, /* dup */ \ + {PREFIX ".programs.program.sequence.script", ob_collections_group_programs_program_script}, /* dup */ \ + {PREFIX ".programs.script", ob_collections_group_script}, /* dup */ \ + {PREFIX ".script", ob_collections_group_script}, /* dup */ New_Object_Handler object_handlers[] = { - {"externals", NULL}, - {"images", NULL}, - {"images.set", ob_images_set}, - {"images.set.image", ob_images_set_image}, - {"fonts", NULL}, - {"data", NULL}, - {"styles", NULL}, - {"styles.style", ob_styles_style}, - {"color_tree", ob_color_tree}, - {"color_classes", NULL}, - {"color_classes.color_class", ob_color_class}, - {"text_classes", NULL}, - {"text_classes.text_class", ob_text_class}, - {"size_classes", NULL}, - {"size_classes.size_class", ob_size_class}, - {"spectra", NULL}, - {"filters", NULL}, - {"filters.filter", ob_filters_filter}, - {"filters.filter.script", ob_filters_filter_script}, - {"collections", ob_collections}, - {"collections.externals", NULL}, /* dup */ - {"collections.set", ob_images_set}, /* dup */ - {"collections.set.image", ob_images_set_image}, /* dup */ - {"collections.images", NULL}, /* dup */ - {"collections.images.set", ob_images_set}, /* dup */ - {"collections.images.set.image", ob_images_set_image}, /* dup */ - {"collections.fonts", NULL}, /* dup */ - {"collections.styles", NULL}, /* dup */ - {"collections.styles.style", ob_styles_style}, /* dup */ - {"collections.color_tree", ob_color_tree}, /* dup */ - {"collections.color_classes", NULL}, /* dup */ - {"collections.color_classes.color_class", ob_color_class}, /* dup */ - {"collections.text_classes", NULL}, - {"collections.text_classes.text_class", ob_text_class}, /* dup */ - {"collections.size_classes", NULL}, /* dup */ - {"collections.size_classes.size_class", ob_size_class}, /* dup */ - {"collections.sounds", NULL}, - {"collections.group.sounds", NULL}, /* dup */ - {"collections.sounds.sample", NULL}, - {"collections.translation", NULL}, - {"collections.translation.file", NULL}, - {"collections.group.translation", NULL},/*dup*/ - {"collections.group.translation.file", NULL},/*dup*/ - {"collections.group.sounds.sample", NULL}, /* dup */ - {"collections.vibrations", NULL}, - {"collections.group.vibrations", NULL}, /* dup */ - {"collections.vibrations.sample", NULL}, - {"collections.filters", NULL}, - {"collections.filters.filter", ob_filters_filter}, /* dup */ - {"collections.filters.filter.script", ob_filters_filter_script}, /* dup */ - {"collections.group.vibrations.sample", NULL}, /* dup */ - {"collections.group", ob_collections_group}, - {"collections.group.data", NULL}, - {"collections.group.limits", NULL}, - {"collections.group.script", ob_collections_group_script}, - {"collections.group.lua_script", ob_collections_group_lua_script}, - {"collections.group.externals", NULL}, /* dup */ - {"collections.group.set", ob_images_set}, /* dup */ - {"collections.group.set.image", ob_images_set_image}, /* dup */ - {"collections.group.images", NULL}, /* dup */ - {"collections.group.models", NULL}, /* dup */ - {"collections.group.images.set", ob_images_set}, /* dup */ - {"collections.group.images.set.image", ob_images_set_image}, /* dup */ - {"collections.group.fonts", NULL}, /* dup */ - {"collections.group.styles", NULL}, /* dup */ - {"collections.group.styles.style", ob_styles_style}, /* dup */ - {"collections.group.color_tree", ob_color_tree}, /* dup */ - {"collections.group.color_classes", NULL}, /* dup */ - {"collections.group.color_classes.color_class", ob_color_class}, /* dup */ - {"collections.group.text_classes", NULL}, - {"collections.group.text_classes.text_class", ob_text_class}, /* dup */ - {"collections.group.size_classes", NULL}, /* dup */ - {"collections.group.size_classes.size_class", ob_size_class}, /* dup */ - {"collections.group.filters", NULL}, - {"collections.group.filters.filter", ob_filters_filter}, /* dup */ - {"collections.group.filters.filter.script", ob_filters_filter_script}, /* dup */ - {"collections.group.parts", NULL}, - {"collections.group.parts.set", ob_images_set}, /* dup */ - {"collections.group.parts.set.image", ob_images_set_image}, /* dup */ - {"collections.group.parts.images", NULL}, /* dup */ - {"collections.group.parts.images.set", ob_images_set}, /* dup */ - {"collections.group.parts.images.set.image", ob_images_set_image}, /* dup */ - {"collections.group.parts.fonts", NULL}, /* dup */ - {"collections.group.parts.styles", NULL}, /* dup */ - {"collections.group.parts.styles.style", ob_styles_style}, /* dup */ - {"collections.group.parts.color_classes", NULL}, /* dup */ - {"collections.group.parts.color_classes.color_class", ob_color_class}, /* dup */ - {"collections.group.parts.text_classes", NULL}, - {"collections.group.parts.text_classes.text_class", ob_text_class}, /* dup */ - {"collections.group.parts.size_classes", NULL}, /* dup */ - {"collections.group.parts.size_classes.size_class", ob_size_class}, /* dup */ - {"collections.group.parts.part", ob_collections_group_parts_part}, - {"collections.group.parts.part.dragable", NULL}, - {"collections.group.parts.part.set", ob_images_set}, /* dup */ - {"collections.group.parts.part.set.image", ob_images_set_image}, /* dup */ - {"collections.group.parts.part.images", NULL}, /* dup */ - {"collections.group.parts.part.images.set", ob_images_set}, /* dup */ - {"collections.group.parts.part.images.set.image", ob_images_set_image}, /* dup */ - {"collections.group.parts.part.fonts", NULL}, /* dup */ - {"collections.group.parts.part.styles", NULL}, /* dup */ - {"collections.group.parts.part.styles.style", ob_styles_style}, /* dup */ - {"collections.group.parts.part.color_classes", NULL}, /* dup */ - {"collections.group.parts.part.color_classes.color_class", ob_color_class}, /* dup */ - {"collections.group.parts.part.text_classes", NULL}, - {"collections.group.parts.part.text_classes.text_class", ob_text_class}, /* dup */ - {"collections.group.parts.part.size_classes", NULL}, /* dup */ - {"collections.group.parts.part.size_classes.size_class", ob_size_class}, /* dup */ - {"collections.group.parts.part.box", NULL}, - {"collections.group.parts.part.box.items", NULL}, - {"collections.group.parts.part.box.items.item", ob_collections_group_parts_part_box_items_item}, - {"collections.group.parts.part.table", NULL}, - {"collections.group.parts.part.table.items", NULL}, - {"collections.group.parts.part.table.items.item", ob_collections_group_parts_part_box_items_item}, /* dup */ - {"collections.group.parts.part.description", ob_collections_group_parts_part_description}, - {"collections.group.parts.part.description.link", ob_collections_group_parts_part_description_link}, - {"collections.group.parts.part.description.rel1", NULL}, - {"collections.group.parts.part.description.rel2", NULL}, - {"collections.group.parts.part.description.anchors", NULL}, - {"collections.group.parts.part.description.image", NULL}, /* dup */ - {"collections.group.parts.part.description.image.set", ob_images_set}, /* dup */ - {"collections.group.parts.part.description.image.set.image", ob_images_set_image}, /* dup */ - {"collections.group.parts.part.description.image.images", NULL}, /* dup */ - {"collections.group.parts.part.description.image.images.set", ob_images_set}, /* dup */ - {"collections.group.parts.part.description.image.images.set.image", ob_images_set_image}, /* dup */ - {"collections.group.parts.part.description.fill", NULL}, - {"collections.group.parts.part.description.fill.origin", NULL}, - {"collections.group.parts.part.description.fill.size", NULL}, - {"collections.group.parts.part.description.text", NULL}, - {"collections.group.parts.part.description.text.fonts", NULL}, /* dup */ - {"collections.group.parts.part.description.images", NULL}, /* dup */ - {"collections.group.parts.part.description.images.set", ob_images_set}, /* dup */ - {"collections.group.parts.part.description.images.set.image", ob_images_set_image}, /* dup */ - {"collections.group.parts.part.description.fonts", NULL}, /* dup */ - {"collections.group.parts.part.description.styles", NULL}, /* dup */ - {"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */ - {"collections.group.parts.part.description.box", NULL}, - {"collections.group.parts.part.description.table", NULL}, - {"collections.group.parts.part.description.position", NULL}, - {"collections.group.parts.part.description.properties", NULL}, - {"collections.group.parts.part.description.orientation", NULL}, - {"collections.group.parts.part.description.texture", ob_collections_group_parts_part_description_texture}, - {"collections.group.parts.part.description.mesh", NULL}, - {"collections.group.parts.part.description.filter", NULL}, - {"collections.group.parts.part.description.proxy", NULL}, + {"externals", NULL}, + {"images", NULL}, + {"images.set", ob_images_set}, + {"images.set.image", ob_images_set_image}, + {"fonts", NULL}, + {"data", NULL}, + {"styles", NULL}, + {"styles.style", ob_styles_style}, + {"color_tree", ob_color_tree}, + {"color_classes", NULL}, + {"color_classes.color_class", ob_color_class}, + {"text_classes", NULL}, + {"text_classes.text_class", ob_text_class}, + {"size_classes", NULL}, + {"size_classes.size_class", ob_size_class}, + {"spectra", NULL}, + {"filters", NULL}, + {"filters.filter", ob_filters_filter}, + {"filters.filter.script", ob_filters_filter_script}, + {"collections", ob_collections}, + {"collections.externals", NULL}, /* dup */ + {"collections.set", ob_images_set}, /* dup */ + {"collections.set.image", ob_images_set_image}, /* dup */ + {"collections.images", NULL}, /* dup */ + {"collections.images.set", ob_images_set}, /* dup */ + {"collections.images.set.image", ob_images_set_image}, /* dup */ + {"collections.fonts", NULL}, /* dup */ + {"collections.styles", NULL}, /* dup */ + {"collections.styles.style", ob_styles_style}, /* dup */ + {"collections.color_tree", ob_color_tree}, /* dup */ + {"collections.color_classes", NULL}, /* dup */ + {"collections.color_classes.color_class", ob_color_class}, /* dup */ + {"collections.text_classes", NULL}, + {"collections.text_classes.text_class", ob_text_class}, /* dup */ + {"collections.size_classes", NULL}, /* dup */ + {"collections.size_classes.size_class", ob_size_class}, /* dup */ + {"collections.sounds", NULL}, + {"collections.group.sounds", NULL}, /* dup */ + {"collections.sounds.sample", NULL}, + {"collections.translation", NULL}, + {"collections.translation.file", NULL}, + {"collections.group.translation", NULL}, /*dup*/ + {"collections.group.translation.file", NULL}, /*dup*/ + {"collections.group.sounds.sample", NULL}, /* dup */ + {"collections.vibrations", NULL}, + {"collections.group.vibrations", NULL}, /* dup */ + {"collections.vibrations.sample", NULL}, + {"collections.filters", NULL}, + {"collections.filters.filter", ob_filters_filter}, /* dup */ + {"collections.filters.filter.script", ob_filters_filter_script}, /* dup */ + {"collections.group.vibrations.sample", NULL}, /* dup */ + {"collections.group", ob_collections_group}, + {"collections.group.data", NULL}, + {"collections.group.limits", NULL}, + {"collections.group.script", ob_collections_group_script}, + {"collections.group.lua_script", ob_collections_group_lua_script}, + {"collections.group.externals", NULL}, /* dup */ + {"collections.group.set", ob_images_set}, /* dup */ + {"collections.group.set.image", ob_images_set_image}, /* dup */ + {"collections.group.images", NULL}, /* dup */ + {"collections.group.models", NULL}, /* dup */ + {"collections.group.images.set", ob_images_set}, /* dup */ + {"collections.group.images.set.image", ob_images_set_image}, /* dup */ + {"collections.group.fonts", NULL}, /* dup */ + {"collections.group.styles", NULL}, /* dup */ + {"collections.group.styles.style", ob_styles_style}, /* dup */ + {"collections.group.color_tree", ob_color_tree}, /* dup */ + {"collections.group.color_classes", NULL}, /* dup */ + {"collections.group.color_classes.color_class", ob_color_class}, /* dup */ + {"collections.group.text_classes", NULL}, + {"collections.group.text_classes.text_class", ob_text_class}, /* dup */ + {"collections.group.size_classes", NULL}, /* dup */ + {"collections.group.size_classes.size_class", ob_size_class}, /* dup */ + {"collections.group.filters", NULL}, + {"collections.group.filters.filter", ob_filters_filter}, /* dup */ + {"collections.group.filters.filter.script", ob_filters_filter_script}, /* dup */ + {"collections.group.parts", NULL}, + {"collections.group.parts.set", ob_images_set}, /* dup */ + {"collections.group.parts.set.image", ob_images_set_image}, /* dup */ + {"collections.group.parts.images", NULL}, /* dup */ + {"collections.group.parts.images.set", ob_images_set}, /* dup */ + {"collections.group.parts.images.set.image", ob_images_set_image}, /* dup */ + {"collections.group.parts.fonts", NULL}, /* dup */ + {"collections.group.parts.styles", NULL}, /* dup */ + {"collections.group.parts.styles.style", ob_styles_style}, /* dup */ + {"collections.group.parts.color_classes", NULL}, /* dup */ + {"collections.group.parts.color_classes.color_class", ob_color_class}, /* dup */ + {"collections.group.parts.text_classes", NULL}, + {"collections.group.parts.text_classes.text_class", ob_text_class}, /* dup */ + {"collections.group.parts.size_classes", NULL}, /* dup */ + {"collections.group.parts.size_classes.size_class", ob_size_class}, /* dup */ + {"collections.group.parts.part", ob_collections_group_parts_part}, + {"collections.group.parts.part.dragable", NULL}, + {"collections.group.parts.part.set", ob_images_set}, /* dup */ + {"collections.group.parts.part.set.image", ob_images_set_image}, /* dup */ + {"collections.group.parts.part.images", NULL}, /* dup */ + {"collections.group.parts.part.images.set", ob_images_set}, /* dup */ + {"collections.group.parts.part.images.set.image", ob_images_set_image}, /* dup */ + {"collections.group.parts.part.fonts", NULL}, /* dup */ + {"collections.group.parts.part.styles", NULL}, /* dup */ + {"collections.group.parts.part.styles.style", ob_styles_style}, /* dup */ + {"collections.group.parts.part.color_classes", NULL}, /* dup */ + {"collections.group.parts.part.color_classes.color_class", ob_color_class}, /* dup */ + {"collections.group.parts.part.text_classes", NULL}, + {"collections.group.parts.part.text_classes.text_class", ob_text_class}, /* dup */ + {"collections.group.parts.part.size_classes", NULL}, /* dup */ + {"collections.group.parts.part.size_classes.size_class", ob_size_class}, /* dup */ + {"collections.group.parts.part.box", NULL}, + {"collections.group.parts.part.box.items", NULL}, + {"collections.group.parts.part.box.items.item", ob_collections_group_parts_part_box_items_item}, + {"collections.group.parts.part.table", NULL}, + {"collections.group.parts.part.table.items", NULL}, + {"collections.group.parts.part.table.items.item", ob_collections_group_parts_part_box_items_item}, /* dup */ + {"collections.group.parts.part.description", ob_collections_group_parts_part_description}, + {"collections.group.parts.part.description.link", ob_collections_group_parts_part_description_link}, + {"collections.group.parts.part.description.rel1", NULL}, + {"collections.group.parts.part.description.rel2", NULL}, + {"collections.group.parts.part.description.anchors", NULL}, + {"collections.group.parts.part.description.image", NULL}, /* dup */ + {"collections.group.parts.part.description.image.set", ob_images_set}, /* dup */ + {"collections.group.parts.part.description.image.set.image", ob_images_set_image}, /* dup */ + {"collections.group.parts.part.description.image.images", NULL}, /* dup */ + {"collections.group.parts.part.description.image.images.set", ob_images_set}, /* dup */ + {"collections.group.parts.part.description.image.images.set.image", ob_images_set_image}, /* dup */ + {"collections.group.parts.part.description.fill", NULL}, + {"collections.group.parts.part.description.fill.origin", NULL}, + {"collections.group.parts.part.description.fill.size", NULL}, + {"collections.group.parts.part.description.text", NULL}, + {"collections.group.parts.part.description.text.fonts", NULL}, /* dup */ + {"collections.group.parts.part.description.images", NULL}, /* dup */ + {"collections.group.parts.part.description.images.set", ob_images_set}, /* dup */ + {"collections.group.parts.part.description.images.set.image", ob_images_set_image}, /* dup */ + {"collections.group.parts.part.description.fonts", NULL}, /* dup */ + {"collections.group.parts.part.description.styles", NULL}, /* dup */ + {"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */ + {"collections.group.parts.part.description.box", NULL}, + {"collections.group.parts.part.description.table", NULL}, + {"collections.group.parts.part.description.position", NULL}, + {"collections.group.parts.part.description.properties", NULL}, + {"collections.group.parts.part.description.orientation", NULL}, + {"collections.group.parts.part.description.texture", ob_collections_group_parts_part_description_texture}, + {"collections.group.parts.part.description.mesh", NULL}, + {"collections.group.parts.part.description.filter", NULL}, + {"collections.group.parts.part.description.proxy", NULL}, #ifdef HAVE_EPHYSICS - {"collections.group.parts.part.description.physics", NULL}, - {"collections.group.parts.part.description.physics.movement_freedom", NULL}, - {"collections.group.parts.part.description.physics.faces", NULL}, - {"collections.group.parts.part.description.physics.faces.face", st_collections_group_parts_part_description_physics_face}, + {"collections.group.parts.part.description.physics", NULL}, + {"collections.group.parts.part.description.physics.movement_freedom", NULL}, + {"collections.group.parts.part.description.physics.faces", NULL}, + {"collections.group.parts.part.description.physics.faces.face", st_collections_group_parts_part_description_physics_face}, #endif - {"collections.group.parts.part.description.map", NULL}, - {"collections.group.parts.part.description.map.rotation", NULL}, - {"collections.group.parts.part.description.map.zoom", NULL}, - {"collections.group.parts.part.description.perspective", NULL}, - {"collections.group.parts.part.description.params", NULL}, - {"collections.group.parts.part.description.color_classes", NULL}, /* dup */ - {"collections.group.parts.part.description.color_classes.color_class", ob_color_class}, /* dup */ - {"collections.group.parts.part.description.text_classes", NULL}, /* dup */ - {"collections.group.parts.part.description.text_classes.text_class", ob_text_class}, /* dup */ - {"collections.group.parts.part.description.size_classes", NULL}, /* dup */ - {"collections.group.parts.part.description.size_classes.size_class", ob_size_class}, /* dup */ + {"collections.group.parts.part.description.map", NULL}, + {"collections.group.parts.part.description.map.rotation", NULL}, + {"collections.group.parts.part.description.map.zoom", NULL}, + {"collections.group.parts.part.description.perspective", NULL}, + {"collections.group.parts.part.description.params", NULL}, + {"collections.group.parts.part.description.color_classes", NULL}, /* dup */ + {"collections.group.parts.part.description.color_classes.color_class", ob_color_class}, /* dup */ + {"collections.group.parts.part.description.text_classes", NULL}, /* dup */ + {"collections.group.parts.part.description.text_classes.text_class", ob_text_class}, /* dup */ + {"collections.group.parts.part.description.size_classes", NULL}, /* dup */ + {"collections.group.parts.part.description.size_classes.size_class", ob_size_class}, /* dup */ #ifdef HAVE_EPHYSICS - {"collections.group.physics", NULL}, - {"collections.group.physics.world", NULL}, + {"collections.group.physics", NULL}, + {"collections.group.physics.world", NULL}, #endif - PROGRAM_OBJECTS("collections.group.parts.part.description") - PROGRAM_OBJECTS("collections.group.parts.part") - PROGRAM_OBJECTS("collections.group.parts") - PROGRAM_OBJECTS("collections.group") + PROGRAM_OBJECTS("collections.group.parts.part.description") + PROGRAM_OBJECTS("collections.group.parts.part") + PROGRAM_OBJECTS("collections.group.parts") + PROGRAM_OBJECTS("collections.group") }; /** @edcsubsection{lazedc_blocks, @@ -1591,45 +1627,45 @@ New_Object_Handler object_handlers[] = @description Lowercase part types can be specified as blocks with the same effect as part { type: TYPE; } The "description" block can also be shortened to "desc". - + @since 1.10 @endblock -*/ + */ New_Object_Handler object_handlers_short[] = { - {"collections.group.parts.rect", ob_collections_group_parts_part_short}, - {"collections.group.parts.text", ob_collections_group_parts_part_short}, - {"collections.group.parts.image", ob_collections_group_parts_part_short}, - {"collections.group.parts.swallow", ob_collections_group_parts_part_short}, - {"collections.group.parts.textblock", ob_collections_group_parts_part_short}, - {"collections.group.parts.group", ob_collections_group_parts_part_short}, - {"collections.group.parts.box", ob_collections_group_parts_part_short}, - {"collections.group.parts.table", ob_collections_group_parts_part_short}, - {"collections.group.parts.external", ob_collections_group_parts_part_short}, - {"collections.group.parts.proxy", ob_collections_group_parts_part_short}, - {"collections.group.parts.spacer", ob_collections_group_parts_part_short}, - {"collections.group.parts.snapshot", ob_collections_group_parts_part_short}, - {"collections.group.parts.part.desc", ob_collections_group_parts_part_desc}, - {"collections.group.parts.vector", ob_collections_group_parts_part_short}, + {"collections.group.parts.rect", ob_collections_group_parts_part_short}, + {"collections.group.parts.text", ob_collections_group_parts_part_short}, + {"collections.group.parts.image", ob_collections_group_parts_part_short}, + {"collections.group.parts.swallow", ob_collections_group_parts_part_short}, + {"collections.group.parts.textblock", ob_collections_group_parts_part_short}, + {"collections.group.parts.group", ob_collections_group_parts_part_short}, + {"collections.group.parts.box", ob_collections_group_parts_part_short}, + {"collections.group.parts.table", ob_collections_group_parts_part_short}, + {"collections.group.parts.external", ob_collections_group_parts_part_short}, + {"collections.group.parts.proxy", ob_collections_group_parts_part_short}, + {"collections.group.parts.spacer", ob_collections_group_parts_part_short}, + {"collections.group.parts.snapshot", ob_collections_group_parts_part_short}, + {"collections.group.parts.part.desc", ob_collections_group_parts_part_desc}, + {"collections.group.parts.vector", ob_collections_group_parts_part_short}, }; New_Nested_Handler nested_handlers[] = { - {"collections.group.parts", "part", NULL, edje_cc_handlers_hierarchy_pop } + {"collections.group.parts", "part", NULL, edje_cc_handlers_hierarchy_pop } }; New_Nested_Handler nested_handlers_short[] = { - {"collections.group.parts", "rect", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "text", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "image", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "swallow", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "textblock", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "group", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "box", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "table", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "external", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "proxy", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "spacer", NULL, edje_cc_handlers_hierarchy_pop }, - {"collections.group.parts", "vector", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "rect", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "text", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "image", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "swallow", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "textblock", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "group", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "box", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "table", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "external", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "proxy", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "spacer", NULL, edje_cc_handlers_hierarchy_pop }, + {"collections.group.parts", "vector", NULL, edje_cc_handlers_hierarchy_pop }, }; /*****/ @@ -1714,12 +1750,12 @@ part_description_image_cleanup(Edje_Part *ep) if (ep->type != EDJE_PART_TYPE_IMAGE) return; - ed = (Edje_Part_Description_Image*) ep->default_desc; + ed = (Edje_Part_Description_Image *)ep->default_desc; _edje_part_description_image_remove(ed); for (j = 0; j < ep->other.desc_count; j++) { - ed = (Edje_Part_Description_Image*) ep->other.desc[j]; + ed = (Edje_Part_Description_Image *)ep->other.desc[j]; _edje_part_description_image_remove(ed); } } @@ -1735,265 +1771,276 @@ _edje_part_description_alloc(unsigned char type, const char *collection, const c case EDJE_PART_TYPE_RECTANGLE: case EDJE_PART_TYPE_SWALLOW: case EDJE_PART_TYPE_GROUP: - result = mem_alloc(SZ(Edje_Part_Description_Common)); - break; + result = mem_alloc(SZ(Edje_Part_Description_Common)); + break; + case EDJE_PART_TYPE_TEXT: case EDJE_PART_TYPE_TEXTBLOCK: - { - Edje_Part_Description_Text *ed; + { + Edje_Part_Description_Text *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Text)); + ed = mem_alloc(SZ(Edje_Part_Description_Text)); - ed->text.color3.r = 0; - ed->text.color3.g = 0; - ed->text.color3.b = 0; - ed->text.color3.a = 128; - ed->text.align.x = FROM_DOUBLE(0.5); - ed->text.align.y = FROM_DOUBLE(0.5); - ed->text.id_source = -1; - ed->text.id_text_source = -1; + ed->text.color3.r = 0; + ed->text.color3.g = 0; + ed->text.color3.b = 0; + ed->text.color3.a = 128; + ed->text.align.x = FROM_DOUBLE(0.5); + ed->text.align.y = FROM_DOUBLE(0.5); + ed->text.id_source = -1; + ed->text.id_text_source = -1; + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *ed; + { + Edje_Part_Description_Image *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Image)); + ed = mem_alloc(SZ(Edje_Part_Description_Image)); - ed->image.id = -1; + ed->image.id = -1; - _edje_part_description_fill(&ed->image.fill); + _edje_part_description_fill(&ed->image.fill); + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_SNAPSHOT: - { - Edje_Part_Description_Snapshot *ed; + { + Edje_Part_Description_Snapshot *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Snapshot)); + ed = mem_alloc(SZ(Edje_Part_Description_Snapshot)); + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ed; + { + Edje_Part_Description_Proxy *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Proxy)); + ed = mem_alloc(SZ(Edje_Part_Description_Proxy)); - ed->proxy.id = -1; - ed->proxy.source_visible = EINA_TRUE; - ed->proxy.source_clip = EINA_TRUE; - _edje_part_description_fill(&ed->proxy.fill); + ed->proxy.id = -1; + ed->proxy.source_visible = EINA_TRUE; + ed->proxy.source_clip = EINA_TRUE; + _edje_part_description_fill(&ed->proxy.fill); + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_BOX: - { - Edje_Part_Description_Box *ed; + { + Edje_Part_Description_Box *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Box)); + ed = mem_alloc(SZ(Edje_Part_Description_Box)); - ed->box.layout = NULL; - ed->box.alt_layout = NULL; - ed->box.align.x = FROM_DOUBLE(0.5); - ed->box.align.y = FROM_DOUBLE(0.5); - ed->box.padding.x = 0; - ed->box.padding.y = 0; + ed->box.layout = NULL; + ed->box.alt_layout = NULL; + ed->box.align.x = FROM_DOUBLE(0.5); + ed->box.align.y = FROM_DOUBLE(0.5); + ed->box.padding.x = 0; + ed->box.padding.y = 0; + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_TABLE: - { - Edje_Part_Description_Table *ed; + { + Edje_Part_Description_Table *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Table)); + ed = mem_alloc(SZ(Edje_Part_Description_Table)); - ed->table.homogeneous = EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE; - ed->table.align.x = FROM_DOUBLE(0.5); - ed->table.align.y = FROM_DOUBLE(0.5); - ed->table.padding.x = 0; - ed->table.padding.y = 0; + ed->table.homogeneous = EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE; + ed->table.align.x = FROM_DOUBLE(0.5); + ed->table.align.y = FROM_DOUBLE(0.5); + ed->table.padding.x = 0; + ed->table.padding.y = 0; + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_EXTERNAL: - { - Edje_Part_Description_External *ed; + { + Edje_Part_Description_External *ed; - ed = mem_alloc(SZ(Edje_Part_Description_External)); + ed = mem_alloc(SZ(Edje_Part_Description_External)); - ed->external_params = NULL; + ed->external_params = NULL; + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_MESH_NODE: - { - Edje_Part_Description_Mesh_Node *ed; + { + Edje_Part_Description_Mesh_Node *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Mesh_Node)); + ed = mem_alloc(SZ(Edje_Part_Description_Mesh_Node)); - ed->mesh_node.mesh.id = -1; - ed->mesh_node.mesh.primitive = 0; - ed->mesh_node.mesh.assembly = 1; - ed->mesh_node.mesh.frame = 0; + ed->mesh_node.mesh.id = -1; + ed->mesh_node.mesh.primitive = 0; + ed->mesh_node.mesh.assembly = 1; + ed->mesh_node.mesh.frame = 0; - ed->mesh_node.texture.id = -1; - ed->mesh_node.texture.wrap1 = 0; - ed->mesh_node.texture.wrap2 = 0; - ed->mesh_node.texture.filter1 = 0; - ed->mesh_node.texture.filter2 = 0; + ed->mesh_node.texture.id = -1; + ed->mesh_node.texture.wrap1 = 0; + ed->mesh_node.texture.wrap2 = 0; + ed->mesh_node.texture.filter1 = 0; + ed->mesh_node.texture.filter2 = 0; - ed->mesh_node.properties.shade = EVAS_CANVAS3D_SHADER_MODE_VERTEX_COLOR; - ed->mesh_node.properties.ambient.r = 50; - ed->mesh_node.properties.ambient.g = 50; - ed->mesh_node.properties.ambient.b = 50; - ed->mesh_node.properties.ambient.a = 255; - ed->mesh_node.properties.diffuse.r = 255; - ed->mesh_node.properties.diffuse.g = 255; - ed->mesh_node.properties.diffuse.b = 255; - ed->mesh_node.properties.diffuse.a = 255; - ed->mesh_node.properties.specular.r = 255; - ed->mesh_node.properties.specular.g = 255; - ed->mesh_node.properties.specular.b = 255; - ed->mesh_node.properties.specular.a = 255; + ed->mesh_node.properties.shade = EVAS_CANVAS3D_SHADER_MODE_VERTEX_COLOR; + ed->mesh_node.properties.ambient.r = 50; + ed->mesh_node.properties.ambient.g = 50; + ed->mesh_node.properties.ambient.b = 50; + ed->mesh_node.properties.ambient.a = 255; + ed->mesh_node.properties.diffuse.r = 255; + ed->mesh_node.properties.diffuse.g = 255; + ed->mesh_node.properties.diffuse.b = 255; + ed->mesh_node.properties.diffuse.a = 255; + ed->mesh_node.properties.specular.r = 255; + ed->mesh_node.properties.specular.g = 255; + ed->mesh_node.properties.specular.b = 255; + ed->mesh_node.properties.specular.a = 255; - ed->mesh_node.properties.material_attrib = 1; - ed->mesh_node.properties.normal = 1; - ed->mesh_node.properties.shininess = 50; + ed->mesh_node.properties.material_attrib = 1; + ed->mesh_node.properties.normal = 1; + ed->mesh_node.properties.shininess = 50; - ed->mesh_node.aabb1.relative.x = -1.0; - ed->mesh_node.aabb1.relative.y = -1.0; - ed->mesh_node.aabb1.relative.z = -1.0; - ed->mesh_node.aabb1.offset.x = 0; - ed->mesh_node.aabb1.offset.y = 0; - ed->mesh_node.aabb1.offset.z = 0; - ed->mesh_node.aabb1.rel_to = -1; - ed->mesh_node.aabb2.relative.x = 1.0; - ed->mesh_node.aabb2.relative.y = 1.0; - ed->mesh_node.aabb2.relative.z = 1.0; - ed->mesh_node.aabb2.offset.x = 0; - ed->mesh_node.aabb2.offset.y = 0; - ed->mesh_node.aabb2.offset.z = 0; - ed->mesh_node.aabb2.rel_to = -1; + ed->mesh_node.aabb1.relative.x = -1.0; + ed->mesh_node.aabb1.relative.y = -1.0; + ed->mesh_node.aabb1.relative.z = -1.0; + ed->mesh_node.aabb1.offset.x = 0; + ed->mesh_node.aabb1.offset.y = 0; + ed->mesh_node.aabb1.offset.z = 0; + ed->mesh_node.aabb1.rel_to = -1; + ed->mesh_node.aabb2.relative.x = 1.0; + ed->mesh_node.aabb2.relative.y = 1.0; + ed->mesh_node.aabb2.relative.z = 1.0; + ed->mesh_node.aabb2.offset.x = 0; + ed->mesh_node.aabb2.offset.y = 0; + ed->mesh_node.aabb2.offset.z = 0; + ed->mesh_node.aabb2.rel_to = -1; - ed->mesh_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE; - /* x1 is angle for angle_axis and cosine of half angle for quternion, - x2, x3, x4 define axis for angle_axis and quaternion, - x1, x2, x3 are coordinates of point to look at for look_at, - x4, x5, x6 define a vector that indicates the angle at which - the subject is looking at the target for look_at and look_to */ - ed->mesh_node.orientation.data[0] = 1.0; - ed->mesh_node.orientation.data[1] = 0.0; - ed->mesh_node.orientation.data[2] = 0.0; - ed->mesh_node.orientation.data[3] = 0.0; - ed->mesh_node.orientation.data[4] = 1.0; - ed->mesh_node.orientation.data[5] = 0.0; - ed->mesh_node.orientation.look_to = -1; + ed->mesh_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE; + /* x1 is angle for angle_axis and cosine of half angle for quternion, + x2, x3, x4 define axis for angle_axis and quaternion, + x1, x2, x3 are coordinates of point to look at for look_at, + x4, x5, x6 define a vector that indicates the angle at which + the subject is looking at the target for look_at and look_to */ + ed->mesh_node.orientation.data[0] = 1.0; + ed->mesh_node.orientation.data[1] = 0.0; + ed->mesh_node.orientation.data[2] = 0.0; + ed->mesh_node.orientation.data[3] = 0.0; + ed->mesh_node.orientation.data[4] = 1.0; + ed->mesh_node.orientation.data[5] = 0.0; + ed->mesh_node.orientation.look_to = -1; - ed->mesh_node.scale_3d.x = 1.0; - ed->mesh_node.scale_3d.y = 1.0; - ed->mesh_node.scale_3d.z = 1.0; + ed->mesh_node.scale_3d.x = 1.0; + ed->mesh_node.scale_3d.y = 1.0; + ed->mesh_node.scale_3d.z = 1.0; - ed->mesh_node.position.point.x = 0.0; - ed->mesh_node.position.point.y = 0.0; - ed->mesh_node.position.point.z = 0.0; - ed->mesh_node.position.space = EVAS_CANVAS3D_SPACE_PARENT; + ed->mesh_node.position.point.x = 0.0; + ed->mesh_node.position.point.y = 0.0; + ed->mesh_node.position.point.z = 0.0; + ed->mesh_node.position.space = EVAS_CANVAS3D_SPACE_PARENT; + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_LIGHT: - { - Edje_Part_Description_Light *ed; + { + Edje_Part_Description_Light *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Light)); + ed = mem_alloc(SZ(Edje_Part_Description_Light)); - ed->light.properties.ambient.r = 50; - ed->light.properties.ambient.g = 50; - ed->light.properties.ambient.b = 50; - ed->light.properties.ambient.a = 255; - ed->light.properties.diffuse.r = 255; - ed->light.properties.diffuse.g = 255; - ed->light.properties.diffuse.b = 255; - ed->light.properties.diffuse.a = 255; - ed->light.properties.specular.r = 255; - ed->light.properties.specular.g = 255; - ed->light.properties.specular.b = 255; - ed->light.properties.specular.a = 255; + ed->light.properties.ambient.r = 50; + ed->light.properties.ambient.g = 50; + ed->light.properties.ambient.b = 50; + ed->light.properties.ambient.a = 255; + ed->light.properties.diffuse.r = 255; + ed->light.properties.diffuse.g = 255; + ed->light.properties.diffuse.b = 255; + ed->light.properties.diffuse.a = 255; + ed->light.properties.specular.r = 255; + ed->light.properties.specular.g = 255; + ed->light.properties.specular.b = 255; + ed->light.properties.specular.a = 255; - ed->light.position.point.x = 0.0; - ed->light.position.point.y = 0.0; - ed->light.position.point.z = 1.0; - ed->light.position.space = EVAS_CANVAS3D_SPACE_PARENT; + ed->light.position.point.x = 0.0; + ed->light.position.point.y = 0.0; + ed->light.position.point.z = 1.0; + ed->light.position.space = EVAS_CANVAS3D_SPACE_PARENT; - ed->light.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE; - /* x1 is angle for angle_axis and cosine of half angle for quternion, - x2, x3, x4 define axis for angle_axis and quaternion, - x1, x2, x3 are coordinates of point to look at for look_at, - x4, x5, x6 define a vector that indicates the angle at which - the subject is looking at the target for look_at and look_to */ - ed->light.orientation.data[0] = 1.0; - ed->light.orientation.data[1] = 0.0; - ed->light.orientation.data[2] = 0.0; - ed->light.orientation.data[3] = 0.0; - ed->light.orientation.data[4] = 1.0; - ed->light.orientation.data[5] = 0.0; - ed->light.orientation.look_to = -1; + ed->light.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE; + /* x1 is angle for angle_axis and cosine of half angle for quternion, + x2, x3, x4 define axis for angle_axis and quaternion, + x1, x2, x3 are coordinates of point to look at for look_at, + x4, x5, x6 define a vector that indicates the angle at which + the subject is looking at the target for look_at and look_to */ + ed->light.orientation.data[0] = 1.0; + ed->light.orientation.data[1] = 0.0; + ed->light.orientation.data[2] = 0.0; + ed->light.orientation.data[3] = 0.0; + ed->light.orientation.data[4] = 1.0; + ed->light.orientation.data[5] = 0.0; + ed->light.orientation.look_to = -1; + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_CAMERA: - { - Edje_Part_Description_Camera *ed; + { + Edje_Part_Description_Camera *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Camera)); + ed = mem_alloc(SZ(Edje_Part_Description_Camera)); - ed->camera.camera.fovy = 60.0; - ed->camera.camera.aspect = 1.0; - ed->camera.camera.frustum_near = 2.0; - ed->camera.camera.frustum_far = 50.0; + ed->camera.camera.fovy = 60.0; + ed->camera.camera.aspect = 1.0; + ed->camera.camera.frustum_near = 2.0; + ed->camera.camera.frustum_far = 50.0; - ed->camera.position.point.x = 0.0; - ed->camera.position.point.y = 0.0; - ed->camera.position.point.z = 5.0; + ed->camera.position.point.x = 0.0; + ed->camera.position.point.y = 0.0; + ed->camera.position.point.z = 5.0; - ed->camera.position.space = EVAS_CANVAS3D_SPACE_PARENT; + ed->camera.position.space = EVAS_CANVAS3D_SPACE_PARENT; - ed->camera.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE; - /* x1 is angle for angle_axis and cosine of half angle for quternion, - x2, x3, x4 define axis for angle_axis and quaternion, - x1, x2, x3 are coordinates of point to look at for look_at, - x4, x5, x6 define a vector that indicates the angle at which - the subject is looking at the target for look_at and look_to */ - ed->camera.orientation.data[0] = 1.0; - ed->camera.orientation.data[1] = 0.0; - ed->camera.orientation.data[2] = 0.0; - ed->camera.orientation.data[3] = 0.0; - ed->camera.orientation.data[4] = 1.0; - ed->camera.orientation.data[5] = 0.0; - ed->camera.orientation.look_to = -1; + ed->camera.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE; + /* x1 is angle for angle_axis and cosine of half angle for quternion, + x2, x3, x4 define axis for angle_axis and quaternion, + x1, x2, x3 are coordinates of point to look at for look_at, + x4, x5, x6 define a vector that indicates the angle at which + the subject is looking at the target for look_at and look_to */ + ed->camera.orientation.data[0] = 1.0; + ed->camera.orientation.data[1] = 0.0; + ed->camera.orientation.data[2] = 0.0; + ed->camera.orientation.data[3] = 0.0; + ed->camera.orientation.data[4] = 1.0; + ed->camera.orientation.data[5] = 0.0; + ed->camera.orientation.look_to = -1; + + result = &ed->common; + break; + } - result = &ed->common; - break; - } case EDJE_PART_TYPE_VECTOR: - { - Edje_Part_Description_Vector *ed; + { + Edje_Part_Description_Vector *ed; - ed = mem_alloc(SZ(Edje_Part_Description_Vector)); + ed = mem_alloc(SZ(Edje_Part_Description_Vector)); - result = &ed->common; - break; - } + result = &ed->common; + break; + } } if (!result) @@ -2033,7 +2080,7 @@ _edje_program_check(const char *name, Edje_Program *me, Edje_Program **pgrms, un for (i = 0; i < count; ++i) if (pgrms[i]->name) if (pgrms[i] != me && (!strcmp(name, pgrms[i]->name))) - { + { epp = (Edje_Program_Parser *)pgrms[i]; if (!epp->can_override) { @@ -2050,7 +2097,7 @@ _edje_program_check(const char *name, Edje_Program *me, Edje_Program **pgrms, un epp->can_override = EINA_FALSE; return; } - } + } } static void @@ -2098,10 +2145,10 @@ _edje_program_copy(Edje_Program *ep, Edje_Program *ep2) EINA_LIST_FOREACH(ep2->targets, l, et2) { - name = (char*) (et2 + 1); + name = (char *)(et2 + 1); et = mem_alloc(SZ(Edje_Program_Target) + strlen(name) + 1); ep->targets = eina_list_append(ep->targets, et); - copy = (char*) (et + 1); + copy = (char *)(et + 1); memcpy(copy, name, strlen(name) + 1); @@ -2119,6 +2166,7 @@ _edje_program_copy(Edje_Program *ep, Edje_Program *ep2) else data_queue_copied_part_lookup(pc, &(et2->id), &(et->id)); break; + case EDJE_ACTION_TYPE_ACTION_STOP: case EDJE_ACTION_TYPE_SCRIPT: if (current_group_inherit) @@ -2126,6 +2174,7 @@ _edje_program_copy(Edje_Program *ep, Edje_Program *ep2) else data_queue_copied_program_lookup(pc, &(et2->id), &(et->id)); break; + default: ERR("parse error %s:%i. target may only be used after action", file_in, line - 1); @@ -2135,10 +2184,10 @@ _edje_program_copy(Edje_Program *ep, Edje_Program *ep2) EINA_LIST_FOREACH(ep2->after, l, pa2) { - name = (char*) (pa2 + 1); + name = (char *)(pa2 + 1); pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1); ep->after = eina_list_append(ep->after, pa); - copy = (char*) (pa + 1); + copy = (char *)(pa + 1); memcpy(copy, name, strlen(name) + 1); if (!data_queue_copied_program_lookup(pc, &(pa2->id), &(pa->id))) data_queue_program_lookup(pc, copy, &(pa->id)); @@ -2180,6 +2229,67 @@ st_efl_version(void) edje_file->efl_version.minor = parse_int(1); } +/** @edcsubsection{toplevel_id, + * id} */ + +/** + @page edcref + + @property + id + @parameters + [name] + @effect + A string which is used to identify the edje file. + @since 1.21 + @endproperty + */ +static void +st_id(void) +{ + Eina_Array_Iterator it; + unsigned int i; + char *str, *id; + + check_arg_count(1); + id = parse_str(0); + + EINA_ARRAY_ITER_NEXT(requires, i, str, it) + if (eina_streq(str, id)) + error_and_abort(NULL, "Cannot use same id for file as one of its required files!"); + free((void*)edje_file->id); + edje_file->id = id; +} + +/** @edcsubsection{toplevel_requires, + * requires} */ + +/** + @page edcref + + @property + requires + @parameters + [name] + @effect + Specifying this property informs edje not to close the + file with the corresponding id property for as long as this + file is open. Multiple requires properties can be individually specified. + @since 1.21 + @endproperty + */ +static void +st_requires(void) +{ + char *str; + check_arg_count(1); + + str = parse_str(0); + if (eina_streq(str, edje_file->id)) + error_and_abort(NULL, "Cannot require the current file!"); + eina_array_push(requires, str); +} + /** @edcsubsection{toplevel_externals, * Externals} */ @@ -2217,39 +2327,39 @@ st_externals_external(void) ex = mem_alloc(SZ(External)); ex->name = parse_str(0); - { - Eina_List *l; - External *lex; + { + Eina_List *l; + External *lex; - EINA_LIST_FOREACH(externals, l, lex) - { - if (!strcmp(lex->name, ex->name)) - { - free(ex->name); - free(ex); - return; - } - } - } + EINA_LIST_FOREACH(externals, l, lex) + { + if (!strcmp(lex->name, ex->name)) + { + free(ex->name); + free(ex); + return; + } + } + } externals = eina_list_append(externals, ex); if (edje_file->external_dir) { Edje_External_Directory_Entry *entries; - - edje_file->external_dir->entries_count++; + + edje_file->external_dir->entries_count++; entries = realloc(edje_file->external_dir->entries, sizeof (Edje_External_Directory_Entry) * edje_file->external_dir->entries_count); if (!entries) { - ERR("not enough memory"); + ERR("not enough memory"); exit(-1); } - edje_file->external_dir->entries = entries; - memset(edje_file->external_dir->entries + edje_file->external_dir->entries_count - 1, - 0, sizeof (Edje_External_Directory_Entry)); + edje_file->external_dir->entries = entries; + memset(edje_file->external_dir->entries + edje_file->external_dir->entries_count - 1, + 0, sizeof (Edje_External_Directory_Entry)); - edje_file->external_dir->entries[edje_file->external_dir->entries_count - 1].entry = mem_strdup(ex->name); + edje_file->external_dir->entries[edje_file->external_dir->entries_count - 1].entry = mem_strdup(ex->name); } } @@ -2284,7 +2394,7 @@ st_externals_external(void) @property image @parameters - [image file] [compression method] (compression level) + [image file] [compression method] (compression level)(edje file id) @effect Used to include each image file. The full path to the directory holding the images can be defined later with edje_cc's "-id" option. @@ -2295,6 +2405,7 @@ st_externals_external(void) @li LOSSY_ETC1 [0-100]: ETC1 lossy texture compression with quality from 0 to 100. @li LOSSY_ETC2 [0-100]: ETC2 lossy texture compression with quality from 0 to 100 (supports alpha). @li USER: Do not embed the file, refer to the external file instead. + @li EXTERNAL: The file exists in the edje file with the specified id. Defaults: compression level for lossy methods is 90. @endproperty @@ -2321,8 +2432,8 @@ st_images_image(void) for (i = 0; i < edje_file->image_dir->entries_count; ++i) if (!strcmp(edje_file->image_dir->entries[i].entry, tmp)) { - free((char*) tmp); - return; + free((char *)tmp); + return; } edje_file->image_dir->entries_count++; @@ -2335,7 +2446,7 @@ st_images_image(void) } edje_file->image_dir->entries = img; memset(edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1, - 0, sizeof (Edje_Image_Directory_Entry)); + 0, sizeof (Edje_Image_Directory_Entry)); img = edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1; @@ -2348,16 +2459,17 @@ st_images_image(void) "LOSSY_ETC1", 3, "LOSSY_ETC2", 4, "USER", 5, - NULL); + "EXTERNAL", 6, + NULL); if (v == 0) { - img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT; - img->source_param = 0; + img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT; + img->source_param = 0; } else if (v == 1) { - img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT; - img->source_param = 1; + img->source_type = EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT; + img->source_param = 1; } else if (v == 2) { @@ -2376,22 +2488,34 @@ st_images_image(void) } else if (v == 5) { - img->source_type = EDJE_IMAGE_SOURCE_TYPE_EXTERNAL; - img->source_param = 0; + img->source_type = EDJE_IMAGE_SOURCE_TYPE_USER; + img->source_param = 0; + } + else if (v == 6) + { + img->source_type = EDJE_IMAGE_SOURCE_TYPE_EXTERNAL; + img->source_param = 0; + img->external_id = parse_str(2); } if ((img->source_type < EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY) || - (img->source_type > EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY_ETC2)) - check_arg_count(2); - else + (img->source_type == EDJE_IMAGE_SOURCE_TYPE_USER)) + check_arg_count(2); + else if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) { if (check_range_arg_count(2, 3) > 2) img->source_param = parse_int_range(2, 0, 100); else img->source_param = 90; } + if (!edje_file->image_id_hash) + edje_file->image_id_hash = eina_hash_string_superfast_new(free); + { + Edje_Image_Hash *eih = mem_alloc(SZ(Edje_Image_Hash)); + eih->id = img->id; + eina_hash_add(edje_file->image_id_hash, tmp, eih); + } } - static void _handle_vector_image(void) { @@ -2399,7 +2523,7 @@ _handle_vector_image(void) unsigned int i = 0; char *name; - ed = (Edje_Part_Description_Vector*) current_desc; + ed = (Edje_Part_Description_Vector *)current_desc; name = parse_str(0); @@ -2464,13 +2588,13 @@ st_images_vector(void) for (i = 0; i < edje_file->image_dir->vectors_count; ++i) if (!strcmp(edje_file->image_dir->vectors[i].entry, tmp)) { - free((char*) tmp); + free((char *)tmp); return; } edje_file->image_dir->vectors_count++; vector = realloc(edje_file->image_dir->vectors, - sizeof (Edje_Vector_Directory_Entry) * edje_file->image_dir->vectors_count); + sizeof (Edje_Vector_Directory_Entry) * edje_file->image_dir->vectors_count); if (!vector) { ERR("No enough memory."); @@ -2478,7 +2602,7 @@ st_images_vector(void) } edje_file->image_dir->vectors = vector; memset(edje_file->image_dir->vectors + edje_file->image_dir->vectors_count - 1, - 0, sizeof (Edje_Vector_Directory_Entry)); + 0, sizeof (Edje_Vector_Directory_Entry)); vector = edje_file->image_dir->vectors + edje_file->image_dir->vectors_count - 1; @@ -2486,7 +2610,6 @@ st_images_vector(void) vector->id = edje_file->image_dir->vectors_count - 1; } - /** @edcsubsection{toplevel_models,model} */ @@ -2533,7 +2656,7 @@ st_models_model(void) for (i = 0; i < edje_file->model_dir->entries_count; ++i) if (!strcmp(edje_file->model_dir->entries[i].entry, tmp)) { - free((char*) tmp); + free((char *)tmp); return; } @@ -2585,7 +2708,7 @@ static void ob_images_set(void) { Edje_Image_Directory_Set *sets; - + if (!edje_file->image_dir) edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory)); @@ -2599,8 +2722,8 @@ ob_images_set(void) } edje_file->image_dir->sets = sets; memset(edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1, - 0, sizeof (Edje_Image_Directory_Set)); - + 0, sizeof (Edje_Image_Directory_Set)); + edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].id = edje_file->image_dir->sets_count - 1; } @@ -2614,7 +2737,7 @@ ob_images_set(void) @effect Define the name that refer to this image description. @endproperty -*/ + */ static void st_images_set_name(void) { @@ -2649,7 +2772,7 @@ st_images_set_name(void) The "image" block inside a "set" block define the characteristic of an image. Every block will describe one image and the size rule to use it. @endblock -**/ + **/ static void ob_images_set_image(void) { @@ -2669,7 +2792,7 @@ ob_images_set_image(void) @property image @parameters - [image file] [compression method] (compression level) + [image file] [compression method] (compression level)(edje file id) @effect Used to include each image file. The full path to the directory holding the images can be defined later with edje_cc's "-id" option. @@ -2680,10 +2803,11 @@ ob_images_set_image(void) @li LOSSY_ETC1 [0-100]: ETC1 lossy texture compression with quality from 0 to 100. @li LOSSY_ETC2 [0-100]: ETC2 lossy texture compression with quality from 0 to 100 (supports alpha). @li USER: Do not embed the file, refer to the external file instead. + @li EXTERNAL: The file exists in the edje file with the specified id. Defaults: compression level for lossy methods is 90. @endproperty -**/ + **/ static void st_images_set_image_image(void) { @@ -2702,8 +2826,8 @@ st_images_set_image_image(void) for (i = 0; i < edje_file->image_dir->entries_count; ++i) if (!strcmp(edje_file->image_dir->entries[i].entry, entry->name)) { - entry->id = i; - return; + entry->id = i; + return; } } @@ -2719,7 +2843,7 @@ st_images_set_image_image(void) Defaults: 0 0 0 0 @endproperty -*/ + */ static void st_images_set_image_size(void) { @@ -2737,11 +2861,11 @@ st_images_set_image_size(void) if (entry->size.min.w > entry->size.max.w || entry->size.min.h > entry->size.max.h) { - ERR("parse error %s:%i. Image min and max size are not in the right order ([%i, %i] < [%i, %i])", - file_in, line - 1, - entry->size.min.w, entry->size.min.h, - entry->size.max.w, entry->size.max.h); - exit(-1); + ERR("parse error %s:%i. Image min and max size are not in the right order ([%i, %i] < [%i, %i])", + file_in, line - 1, + entry->size.min.w, entry->size.min.h, + entry->size.max.w, entry->size.max.h); + exit(-1); } } @@ -2759,7 +2883,7 @@ st_images_set_image_size(void) Defaults: 0 0 0 0 @since 1.8 @endproperty -*/ + */ static void st_images_set_image_border(void) { @@ -2796,7 +2920,7 @@ st_images_set_image_border(void) Defaults: 0.0 @since 1.8 @endproperty -*/ + */ static void st_images_set_image_border_scale_by(void) { @@ -2811,7 +2935,7 @@ st_images_set_image_border_scale_by(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; ed->image.border.scale_by = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0)); } @@ -2861,10 +2985,10 @@ st_fonts_font(void) if (eina_hash_find(edje_file->fonts, fn->name)) { - free(fn->file); - free(fn->name); - free(fn); - return; + free(fn->file); + free(fn->name); + free(fn); + return; } eina_hash_direct_add(edje_file->fonts, fn->name, fn); @@ -2968,7 +3092,7 @@ st_data_file(void) snprintf(path, sizeof(path), "%s/%s", dir, filename); fd = open(path, O_RDONLY | O_BINARY, S_IRUSR | S_IWUSR); if (fd >= 0) - break; + break; } if (fd < 0) @@ -2982,7 +3106,7 @@ st_data_file(void) if (fstat(fd, &buf)) { ERR("%s:%i when stating file \"%s\": \"%s\"", - file_in, line, filename, strerror(errno)); + file_in, line, filename, strerror(errno)); exit(-1); } @@ -2990,7 +3114,7 @@ st_data_file(void) if (data == MAP_FAILED) { ERR("%s:%i when mapping file \"%s\": \"%s\"", - file_in, line, filename, strerror(errno)); + file_in, line, filename, strerror(errno)); exit(-1); } @@ -3005,7 +3129,7 @@ st_data_file(void) value = malloc(sizeof (char) * buf.st_size + 1); snprintf(value, buf.st_size + 1, "%s", data); - munmap((void*)data, buf.st_size); + munmap((void *)data, buf.st_size); close(fd); es->str = value; @@ -3043,7 +3167,7 @@ st_data_file(void) Each node block begins with the name of color class and enclosed with braces. Node block can be placed within another node block. @endblock -*/ + */ static void ob_color_tree(void) { @@ -3084,7 +3208,7 @@ ob_color_tree(void) group of colors to be used in the theme, the application can use that name to alter the color values at runtime. @endblock -*/ + */ static void ob_color_class(void) { @@ -3093,18 +3217,18 @@ ob_color_class(void) cc = mem_alloc(SZ(Edje_Color_Class)); edje_file->color_classes = eina_list_append(edje_file->color_classes, cc); - cc->r = 255; - cc->g = 255; - cc->b = 255; - cc->a = 255; - cc->r2 = 255; - cc->g2 = 255; - cc->b2 = 255; - cc->a2 = 255; - cc->r3 = 255; - cc->g3 = 255; - cc->b3 = 255; - cc->a3 = 255; + cc->r = 0; + cc->g = 0; + cc->b = 0; + cc->a = 0; + cc->r2 = 0; + cc->g2 = 0; + cc->b2 = 0; + cc->a2 = 0; + cc->r3 = 0; + cc->g3 = 0; + cc->b3 = 0; + cc->a3 = 0; } static void @@ -3137,7 +3261,7 @@ _color_class_name(char *name) Sets the name for the color class, used as reference by both the theme and the application. @endproperty -*/ + */ static void st_color_class_name(void) { @@ -3148,12 +3272,12 @@ st_color_class_name(void) cc->name = parse_str(0); EINA_LIST_FOREACH(edje_file->color_classes, l, tcc) { - if ((cc != tcc) && (!strcmp(cc->name, tcc->name))) - { - ERR("parse error %s:%i. There is already a color class named \"%s\"", - file_in, line - 1, cc->name); - exit(-1); - } + if ((cc != tcc) && (!strcmp(cc->name, tcc->name))) + { + ERR("parse error %s:%i. There is already a color class named \"%s\"", + file_in, line - 1, cc->name); + exit(-1); + } } } @@ -3167,23 +3291,25 @@ parse_color(unsigned int first_arg, void *base) switch (get_arg_count() - first_arg) { case 1: - str = parse_str(first_arg); - convert_color_code(str, &r, &g, &b, &a); - color->r = r; - color->g = g; - color->b = b; - color->a = a; - break; + str = parse_str(first_arg); + convert_color_code(str, &r, &g, &b, &a); + color->r = r; + color->g = g; + color->b = b; + color->a = a; + break; + case 4: - color->r = parse_int_range(first_arg + 0, 0, 255); - color->g = parse_int_range(first_arg + 1, 0, 255); - color->b = parse_int_range(first_arg + 2, 0, 255); - color->a = parse_int_range(first_arg + 3, 0, 255); - break; + color->r = parse_int_range(first_arg + 0, 0, 255); + color->g = parse_int_range(first_arg + 1, 0, 255); + color->b = parse_int_range(first_arg + 2, 0, 255); + color->a = parse_int_range(first_arg + 3, 0, 255); + break; + default: - ERR("%s:%i. color code should be a string or a set of 4 integers.", - file_in, line - 1); - exit(-1); + ERR("%s:%i. color code should be a string or a set of 4 integers.", + file_in, line - 1); + exit(-1); } } @@ -3205,9 +3331,9 @@ parse_color(unsigned int first_arg, void *base) i.e "#F00F" or "#F00".\n In string format you can omit alpha channel and it will be set to FF. - Defaults: 255 255 255 255 + Defaults: 0 0 0 0 @endproperty -*/ + */ static void st_color_class_color(void) { @@ -3236,9 +3362,9 @@ st_color_class_color(void) i.e "#F00F" or "#F00".\n In string format you can omit alpha channel and it will be set to FF. - Defaults: 255 255 255 255 + Defaults: 0 0 0 0 @endproperty -*/ + */ static void st_color_class_color2(void) { @@ -3267,9 +3393,9 @@ st_color_class_color2(void) i.e "#F00F" or "#F00".\n In string format you can omit alpha channel and it will be set to FF. - Defaults: 255 255 255 255 + Defaults: 0 0 0 0 @endproperty -*/ + */ static void st_color_class_color3(void) { @@ -3290,7 +3416,7 @@ st_color_class_color3(void) Provides a descriptive name for the effect of the color class @since 1.14 @endproperty -*/ + */ static void st_color_class_desc(void) { @@ -3325,7 +3451,7 @@ st_color_class_desc(void) "style" block is used to create style \ for advanced TEXTBLOCK formatting. @endblock -*/ + */ static void ob_styles_style(void) { @@ -3349,7 +3475,7 @@ _style_name(char *name) if (stl->name && tstl->name && (stl != tstl) && (!strcmp(stl->name, tstl->name))) { ERR("parse error %s:%i. There is already a style named \"%s\"", - file_in, line - 1, stl->name); + file_in, line - 1, stl->name); exit(-1); } } @@ -3364,7 +3490,7 @@ _style_name(char *name) @effect The name of the style to be used as reference later in the theme. @endproperty -*/ + */ static void st_styles_style_name(void) { @@ -3381,7 +3507,7 @@ st_styles_style_name(void) The default style properties that will be applied to the complete text. @endproperty -*/ + */ static void st_styles_style_base(void) { @@ -3413,7 +3539,7 @@ st_styles_style_base(void) If the second part (\) is also defined, a '-' should be prepended to it's style properties. This only applies to paired tags; Single tags, like \, must not include a starting '+'. @endproperty -*/ + */ static void st_styles_style_tag(void) { @@ -3449,7 +3575,7 @@ st_styles_style_tag(void) group of font and size to be used in the theme, the application can use that name to alter the font and its size at runtime. @endblock -*/ + */ static void ob_text_class(void) { @@ -3492,7 +3618,7 @@ _text_class_name(char *name) Sets the name for the text class, used as reference by both the theme and the application. @endproperty -*/ + */ static void st_text_class_name(void) { @@ -3522,7 +3648,7 @@ st_text_class_name(void) @effect Sets the font family for the text class. @endproperty -*/ + */ static void st_text_class_font(void) { @@ -3546,7 +3672,7 @@ st_text_class_font(void) Defaults: 0 @endproperty -*/ + */ static void st_text_class_size(void) { @@ -3580,7 +3706,7 @@ st_text_class_size(void) group of size to be used in the theme, the application can use that name to alter the min and max size values at runtime. @endblock -*/ + */ static void ob_size_class(void) { @@ -3625,7 +3751,7 @@ _size_class_name(char *name) Sets the name for the size class, used as reference by both the theme and the application. @endproperty -*/ + */ static void st_size_class_name(void) { @@ -3656,7 +3782,7 @@ st_size_class_name(void) Defaults: 0 0 @endproperty -*/ + */ static void st_size_class_min(void) { @@ -3680,7 +3806,7 @@ st_size_class_min(void) Defaults: -1 -1 @endproperty -*/ + */ static void st_size_class_max(void) { @@ -3717,7 +3843,7 @@ st_size_class_max(void) names. The "sounds" block comprises of all sound definitions. The "vibrations" block compriese all vibration definitions. @endblock -*/ + */ static void ob_collections(void) { @@ -3745,7 +3871,7 @@ ob_collections(void) Defaults: 1.0 @since 1.11 @endproperty -*/ + */ static void st_collections_base_scale(void) { @@ -3777,7 +3903,7 @@ st_collections_base_scale(void) @description The "sounds" block contains a list of one or more sound sample and tones items. @endblock -*/ + */ /** @page edcref @@ -3799,14 +3925,14 @@ st_collections_group_sound_tone(void) int value; check_arg_count(2); - + if (!edje_file->sound_dir) edje_file->sound_dir = mem_alloc(SZ(Edje_Sound_Directory)); - + tmp = parse_str(0); /* Audible range 20 to 20KHz */ value = parse_int_range(1, 20, 20000); - + /* Check for Tone duplication */ for (i = 0; i < edje_file->sound_dir->tones_count; i++) { @@ -3825,7 +3951,7 @@ st_collections_group_sound_tone(void) } edje_file->sound_dir->tones_count++; tone = realloc(edje_file->sound_dir->tones, - sizeof (Edje_Sound_Tone) * + sizeof (Edje_Sound_Tone) * edje_file->sound_dir->tones_count); if (!tone) { @@ -3833,10 +3959,10 @@ st_collections_group_sound_tone(void) exit(-1); } edje_file->sound_dir->tones = tone; - + tone = edje_file->sound_dir->tones + edje_file->sound_dir->tones_count - 1; memset(tone, 0, sizeof (Edje_Sound_Tone)); - + tone->name = tmp; tone->value = value; tone->id = edje_file->sound_dir->tones_count - 1; @@ -3886,12 +4012,12 @@ st_collections_group_sound_sample_name(void) Edje_Sound_Sample *sample; const char *tmp; unsigned int i; - + if (!edje_file->sound_dir) edje_file->sound_dir = mem_alloc(SZ(Edje_Sound_Directory)); - + tmp = parse_str(0); - + for (i = 0; i < edje_file->sound_dir->samples_count; i++) { if (!strcmp(edje_file->sound_dir->samples[i].name, tmp)) @@ -3900,10 +4026,10 @@ st_collections_group_sound_sample_name(void) return; } } - + edje_file->sound_dir->samples_count++; sample = realloc(edje_file->sound_dir->samples, - sizeof(Edje_Sound_Sample) * + sizeof(Edje_Sound_Sample) * edje_file->sound_dir->samples_count); if (!sample) { @@ -3916,7 +4042,7 @@ st_collections_group_sound_sample_name(void) edje_file->sound_dir->samples + edje_file->sound_dir->samples_count - 1; memset(sample, 0, sizeof (Edje_Sound_Sample)); - + sample->name = tmp; sample->id = edje_file->sound_dir->samples_count - 1; sample->compression = parse_enum(1, @@ -3925,7 +4051,7 @@ st_collections_group_sound_sample_name(void) "LOSSY", EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY, "AS_IS", EDJE_SOUND_SOURCE_TYPE_INLINE_AS_IS, NULL); - + if (sample->compression == EDJE_SOUND_SOURCE_TYPE_INLINE_LOSSY) { sample->quality = parse_float_range(2, 45.0, 1000.0); @@ -3933,7 +4059,6 @@ st_collections_group_sound_sample_name(void) } else check_arg_count(2); - } /** @@ -3958,15 +4083,14 @@ st_collections_group_sound_sample_source(void) ERR("Invalid sound sample source definition."); exit(-1); } - - sample = + + sample = edje_file->sound_dir->samples + edje_file->sound_dir->samples_count - 1; sample->snd_src = parse_str(0); check_arg_count(1); } - /** @edcsubsection{collections_vibrations, * Vibrations} */ @@ -3985,7 +4109,7 @@ st_collections_group_sound_sample_source(void) The "vibrations" block contains a list of one or more vibration sample. @since 1.10 @endblock -*/ + */ /** @edcsubsection{collections_vibrations_sample, * Vibrations.Sample} */ @@ -4112,7 +4236,7 @@ st_collections_group_vibration_sample_source(void) @property name @parameters - [locale name] + [locale name] @effect Used to include each po or mo file. The full path to the directory holding the po or mo file can be defined later with edje_cc's "-md" option. @@ -4130,7 +4254,7 @@ st_collections_group_translation_file_locale(void) check_arg_count(1); if (!edje_file->mo_dir) - edje_file->mo_dir = mem_alloc(SZ(Edje_Mo_Directory)); + edje_file->mo_dir = mem_alloc(SZ(Edje_Mo_Directory)); tmp = parse_str(0); @@ -4223,13 +4347,13 @@ _link_combine(void) if (fabs(ell->ed->state.value - el->ed->state.value) > DBL_EPSILON) continue; if ((!!ell->ed->state.name) != (!!el->ed->state.name)) { - if (((!!ell->ed->state.name) && strcmp(ell->ed->state.name, "default")) || - ((!!el->ed->state.name) && strcmp(el->ed->state.name, "default"))) - continue; + if (((!!ell->ed->state.name) && strcmp(ell->ed->state.name, "default")) || + ((!!el->ed->state.name) && strcmp(el->ed->state.name, "default"))) + continue; } else if (ell->ed->state.name && strcmp(ell->ed->state.name, el->ed->state.name)) continue; - eina_list_move_list(&combine, (Eina_List**)&tup->data, l); + eina_list_move_list(&combine, (Eina_List **)&tup->data, l); } current_program = el->pr; if (!el->epp->common.name) @@ -4285,7 +4409,7 @@ _link_combine(void) A "group" block contains the list of parts and programs that compose a given Edje Object. @endblock -*/ + */ static void ob_collections_group(void) { @@ -4391,7 +4515,7 @@ double_named_group: Only a single name statement is valid for group, use alias instead if you want to give additional names. @endproperty -*/ + */ static void st_collections_group_name(void) { @@ -4399,6 +4523,30 @@ st_collections_group_name(void) _group_name(parse_str(0)); } +/** + @page edcref + @property + skip_namespace_validation + @parameters + [1 or 0] + @effect + This disables namespace validation for the current group if validation has + been enabled with edje_cc's -N option. + This property can be inherited. + Defaults: 0 + + @warning Your edc file should always wrap this keyword with #ifdef HAVE_SKIP_NAMESPACE_VALIDATION + @since 1.21 + @endproperty + */ +static void +st_collections_group_skip_namespace_validation(void) +{ + Edje_Part_Collection_Parser *pcp = eina_list_last_data_get(edje_collections); + check_arg_count(1); + pcp->skip_namespace_validation = parse_bool(0); +} + typedef struct _Edje_List_Foreach_Data Edje_List_Foreach_Data; struct _Edje_List_Foreach_Data { @@ -4452,53 +4600,68 @@ _parts_count_update(unsigned int type, int inc) switch (type) { case EDJE_PART_TYPE_RECTANGLE: - current_de->count.RECTANGLE += inc; - break; + current_de->count.RECTANGLE += inc; + break; + case EDJE_PART_TYPE_TEXT: - current_de->count.TEXT += inc; - break; + current_de->count.TEXT += inc; + break; + case EDJE_PART_TYPE_IMAGE: - current_de->count.IMAGE += inc; - break; + current_de->count.IMAGE += inc; + break; + case EDJE_PART_TYPE_SWALLOW: - current_de->count.SWALLOW += inc; - break; + current_de->count.SWALLOW += inc; + break; + case EDJE_PART_TYPE_TEXTBLOCK: - current_de->count.TEXTBLOCK += inc; - break; + current_de->count.TEXTBLOCK += inc; + break; + case EDJE_PART_TYPE_GROUP: - current_de->count.GROUP += inc; - break; + current_de->count.GROUP += inc; + break; + case EDJE_PART_TYPE_BOX: - current_de->count.BOX += inc; - break; + current_de->count.BOX += inc; + break; + case EDJE_PART_TYPE_TABLE: - current_de->count.TABLE += inc; - break; + current_de->count.TABLE += inc; + break; + case EDJE_PART_TYPE_EXTERNAL: - current_de->count.EXTERNAL += inc; - break; + current_de->count.EXTERNAL += inc; + break; + case EDJE_PART_TYPE_PROXY: - current_de->count.PROXY += inc; - break; + current_de->count.PROXY += inc; + break; + case EDJE_PART_TYPE_MESH_NODE: - current_de->count.MESH_NODE += inc; - break; + current_de->count.MESH_NODE += inc; + break; + case EDJE_PART_TYPE_LIGHT: - current_de->count.LIGHT += inc; - break; + current_de->count.LIGHT += inc; + break; + case EDJE_PART_TYPE_CAMERA: - current_de->count.CAMERA += inc; - break; + current_de->count.CAMERA += inc; + break; + case EDJE_PART_TYPE_SPACER: - current_de->count.SPACER += inc; - break; + current_de->count.SPACER += inc; + break; + case EDJE_PART_TYPE_SNAPSHOT: - current_de->count.SNAPSHOT += inc; - break; + current_de->count.SNAPSHOT += inc; + break; + case EDJE_PART_TYPE_VECTOR: - current_de->count.VECTOR += inc; - break; + current_de->count.VECTOR += inc; + break; } current_de->count.part += inc; } @@ -4591,7 +4754,7 @@ _part_copy(Edje_Part *ep, Edje_Part *ep2) epp->reorder.insert_after = STRDUP(epp2->reorder.insert_after); epp->can_override = EINA_TRUE; - for (j = 0 ; j < ep2->items_count ; j++) + for (j = 0; j < ep2->items_count; j++) { ob_collections_group_parts_part_box_items_item(); item = ep->items[j]; @@ -4637,14 +4800,14 @@ _part_copy(Edje_Part *ep, Edje_Part *ep2) ob_collections_group_parts_part_description(); ed = ep->default_desc; parent_desc = ed2 = ep2->default_desc; - free((void*)ed->state.name); + free((void *)ed->state.name); ed->state.name = STRDUP(ed2->state.name); ed->state.value = ed2->state.value; st_collections_group_parts_part_description_inherit(); parent_desc = NULL; // copy other description - for (j = 0 ; j < ep2->other.desc_count ; j++) + for (j = 0; j < ep2->other.desc_count; j++) { ob_collections_group_parts_part_description(); ed = ep->other.desc[j]; @@ -4671,7 +4834,7 @@ _part_copy(Edje_Part *ep, Edje_Part *ep2) Defaults: 0 @since 1.10 @endproperty -*/ + */ static void st_collections_group_inherit_only(void) { @@ -4710,7 +4873,7 @@ st_collections_group_inherit_only(void) Defaults: 0 @since 1.19 @endproperty -*/ + */ static void st_collections_group_use_custom_seat_names(void) { @@ -4733,7 +4896,7 @@ st_collections_group_use_custom_seat_names(void) parts is not allowed. @since 1.10 @endproperty -*/ + */ static void st_collections_group_part_remove(void) { @@ -4805,7 +4968,7 @@ st_collections_group_part_remove(void) This will break program sequences if a program in the middle of the sequence is removed. @since 1.10 @endproperty -*/ + */ static void st_collections_group_program_remove(void) { @@ -4850,7 +5013,6 @@ st_collections_group_program_remove(void) } } - /** @page edcref @property @@ -4864,7 +5026,7 @@ st_collections_group_program_remove(void) group added as targets. @since 1.10 @endproperty -*/ + */ static void st_collections_group_target_group(void) { @@ -4882,14 +5044,14 @@ st_collections_group_target_group(void) if (!strcmp(tg->name, name)) { ERR("parse error %s:%i. There is already a target_group with the name '%s'", - file_in, line - 1, name); + file_in, line - 1, name); exit(-1); } tg = malloc(sizeof(Edje_Target_Group)); pc->target_groups = eina_list_append(pc->target_groups, tg); tg->name = name; argc = get_arg_count(); - tg->targets = calloc(argc, sizeof(char*)); + tg->targets = calloc(argc, sizeof(char *)); for (n = 1; n < argc; n++) tg->targets[n - 1] = parse_str(n); @@ -4912,7 +5074,7 @@ st_collections_group_target_group(void) allowed. @since 1.10 @endproperty -*/ + */ static void st_collections_group_inherit(void) { @@ -4975,7 +5137,7 @@ st_collections_group_inherit(void) memset(&fdata, 0, sizeof(Edje_List_Foreach_Data)); eina_hash_foreach(pc2->data, - _edje_data_item_list_foreach, &fdata); + _edje_data_item_list_foreach, &fdata); if (!pc->data) pc->data = eina_hash_string_small_new(free); EINA_LIST_FREE(fdata.list, key) @@ -4991,7 +5153,7 @@ st_collections_group_inherit(void) memset(&fdata, 0, sizeof(Edje_List_Foreach_Data)); eina_hash_foreach(pc2->alias, - _edje_data_item_list_foreach, &fdata); + _edje_data_item_list_foreach, &fdata); if (!pc->alias) pc->alias = eina_hash_string_small_new(free); EINA_LIST_FREE(fdata.list, key) { @@ -5034,6 +5196,7 @@ st_collections_group_inherit(void) pcp = (Edje_Part_Collection_Parser *)pc; pcp2 = (Edje_Part_Collection_Parser *)pc2; pcp->default_mouse_events = pcp2->default_mouse_events; + pcp->skip_namespace_validation = pcp2->skip_namespace_validation; if (pcp2->inherit_script) pcp->inherit_script = pcp2->inherit_script; @@ -5117,7 +5280,7 @@ st_collections_group_inherit(void) } offset = pc->parts_count; - for (i = 0 ; i < pc2->parts_count ; i++) + for (i = 0; i < pc2->parts_count; i++) { // copy the part edje_cc_handlers_part_make(-1); @@ -5127,27 +5290,27 @@ st_collections_group_inherit(void) } //copy programs - for (j = 0 ; j < pc2->programs.fnmatch_count ; j++) + for (j = 0; j < pc2->programs.fnmatch_count; j++) { ob_collections_group_programs_program(); _edje_program_copy(current_program, pc2->programs.fnmatch[j]); } - for (j = 0 ; j < pc2->programs.strcmp_count ; j++) + for (j = 0; j < pc2->programs.strcmp_count; j++) { ob_collections_group_programs_program(); _edje_program_copy(current_program, pc2->programs.strcmp[j]); } - for (j = 0 ; j < pc2->programs.strncmp_count ; j++) + for (j = 0; j < pc2->programs.strncmp_count; j++) { ob_collections_group_programs_program(); _edje_program_copy(current_program, pc2->programs.strncmp[j]); } - for (j = 0 ; j < pc2->programs.strrncmp_count ; j++) + for (j = 0; j < pc2->programs.strrncmp_count; j++) { ob_collections_group_programs_program(); _edje_program_copy(current_program, pc2->programs.strrncmp[j]); } - for (j = 0 ; j < pc2->programs.nocmp_count ; j++) + for (j = 0; j < pc2->programs.nocmp_count; j++) { ob_collections_group_programs_program(); _edje_program_copy(current_program, pc2->programs.nocmp[j]); @@ -5209,7 +5372,7 @@ st_collections_group_inherit(void) Defaults: off @endproperty -*/ + */ static void st_collections_group_lua_script_only(void) { @@ -5237,7 +5400,7 @@ st_collections_group_lua_script_only(void) Defaults: 0 @since 1.10 @endproperty -*/ + */ static void st_collections_group_script_recursion(void) { @@ -5259,7 +5422,7 @@ st_collections_group_script_recursion(void) Additional name to serve as identifier. Defining multiple aliases is supported. @endproperty -*/ + */ static void st_collections_group_alias(void) { @@ -5303,7 +5466,7 @@ st_collections_group_alias(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_min(void) { @@ -5328,7 +5491,7 @@ st_collections_group_min(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_max(void) { @@ -5352,7 +5515,7 @@ st_collections_group_max(void) Defaults: 0.0 0.0 @endproperty -*/ + */ static void st_collections_group_scene_size(void) { @@ -5377,7 +5540,7 @@ st_collections_group_scene_size(void) Defaults: true @since 1.1 @endproperty -*/ + */ static void st_collections_group_broadcast_signal(void) { @@ -5426,7 +5589,7 @@ st_collections_group_nobroadcast(void) Defaults: AUTO @endproperty -*/ + */ static void st_collections_group_orientation(void) { @@ -5436,10 +5599,10 @@ st_collections_group_orientation(void) pc = eina_list_data_get(eina_list_last(edje_collections)); pc->prop.orientation = parse_enum(0, - "AUTO", EDJE_ORIENTATION_AUTO, - "LTR", EDJE_ORIENTATION_LTR, - "RTL", EDJE_ORIENTATION_RTL, - NULL); + "AUTO", EDJE_ORIENTATION_AUTO, + "LTR", EDJE_ORIENTATION_LTR, + "RTL", EDJE_ORIENTATION_RTL, + NULL); } /** @@ -5556,7 +5719,6 @@ _script_flush(void) eina_list_free(pcp->base_codes); } - /** @page edcref @property @@ -5613,7 +5775,7 @@ st_collections_group_program_source(void) "description" block, it will be executed once at load time, in the load order. @endblock -*/ + */ static void ob_collections_group_script(void) { @@ -5624,15 +5786,15 @@ ob_collections_group_script(void) if (!is_verbatim()) track_verbatim(1); else { - char *s; + char *s; - s = get_verbatim(); - if (s) - { - cd->l1 = get_verbatim_line1(); - cd->l2 = get_verbatim_line2(); - if (cd->shared) - { + s = get_verbatim(); + if (s) + { + cd->l1 = get_verbatim_line1(); + cd->l2 = get_verbatim_line2(); + if (cd->shared) + { if (script_is_replaceable) { free(cd->shared); @@ -5645,12 +5807,12 @@ ob_collections_group_script(void) file_in, line - 1); exit(-1); } - } - cd->shared = s; + } + cd->shared = s; cd->original = strdup(s); - cd->is_lua = 0; - set_verbatim(NULL, 0, 0); - } + cd->is_lua = 0; + set_verbatim(NULL, 0, 0); + } } } @@ -5664,23 +5826,23 @@ ob_collections_group_lua_script(void) if (!is_verbatim()) track_verbatim(1); else { - char *s; + char *s; - s = get_verbatim(); - if (s) - { - cd->l1 = get_verbatim_line1(); - cd->l2 = get_verbatim_line2(); - if (cd->shared) - { - ERR("parse error %s:%i. There is already an existing script section for the group", - file_in, line - 1); - exit(-1); - } - cd->shared = s; - cd->is_lua = 1; - set_verbatim(NULL, 0, 0); - } + s = get_verbatim(); + if (s) + { + cd->l1 = get_verbatim_line1(); + cd->l2 = get_verbatim_line2(); + if (cd->shared) + { + ERR("parse error %s:%i. There is already an existing script section for the group", + file_in, line - 1); + exit(-1); + } + cd->shared = s; + cd->is_lua = 1; + set_verbatim(NULL, 0, 0); + } } } @@ -5711,7 +5873,7 @@ ob_collections_group_lua_script(void) Defines a new parameter, the value will be the string specified next to it. @endproperty -*/ + */ static void st_collections_group_data_item(void) @@ -5804,7 +5966,7 @@ st_collections_group_data_item(void) Includes an external file to define a new Lua script used for filtering. The file must be in the data path passed to edje_cc (-dd argument). @endproperty -*/ + */ static Edje_Gfx_Filter *current_filter = NULL; @@ -5982,7 +6144,7 @@ st_filters_filter_file(void) exit(-1); } - current_filter->script = (char*)eina_memdup((unsigned char*)script, sz, 1); + current_filter->script = (char *)eina_memdup((unsigned char *)script, sz, 1); eina_file_map_free(f, script); eina_file_close(f); @@ -6044,7 +6206,7 @@ st_filters_filter_name(void) it pass below that limit. This limit will be applied on the y absis and is expressed in pixels. @endproperty -*/ + */ static void st_collections_group_limits_vertical(void) { @@ -6056,14 +6218,14 @@ st_collections_group_limits_vertical(void) pc = eina_list_data_get(eina_list_last(edje_collections)); pc->limits.vertical_count++; elp = realloc(pc->limits.vertical, - pc->limits.vertical_count * sizeof (Edje_Limit *)); + pc->limits.vertical_count * sizeof (Edje_Limit *)); if (!elp) { ERR("Not enough memory."); exit(-1); } pc->limits.vertical = elp; - + el = mem_alloc(SZ(Edje_Limit)); if (!el) { @@ -6089,7 +6251,7 @@ st_collections_group_limits_vertical(void) it pass below that limit. This limit will be applied on the x axis and is expressed in pixels. @endproperty -*/ + */ static void st_collections_group_limits_horizontal(void) { @@ -6146,7 +6308,7 @@ st_collections_group_limits_horizontal(void) "real_part_path" in the "somegroup" group. @endproperty @endblock -*/ + */ static void st_collections_group_parts_alias(void) { @@ -6204,68 +6366,68 @@ st_collections_group_parts_alias(void) theme, for example, a part can represent a line in a border or a label on a button. @endblock -*/ + */ static Edje_Part * edje_cc_handlers_part_make(int id) { /* Doing ob_collections_group_parts_part() job, without hierarchy */ - Edje_Part_Collection *pc; - Edje_Part_Collection_Parser *pcp; - Edje_Part *ep; - Edje_Part_Parser *epp; + Edje_Part_Collection *pc; + Edje_Part_Collection_Parser *pcp; + Edje_Part *ep; + Edje_Part_Parser *epp; - ep = mem_alloc(SZ(Edje_Part_Parser)); + ep = mem_alloc(SZ(Edje_Part_Parser)); - pc = eina_list_data_get(eina_list_last(edje_collections)); - if (id < 0) - { - pc->parts_count++; - pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *)); - if (!pc->parts) - { - ERR("Not enough memory."); - exit(-1); - } - id = pc->parts_count - 1; - } + pc = eina_list_data_get(eina_list_last(edje_collections)); + if (id < 0) + { + pc->parts_count++; + pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *)); + if (!pc->parts) + { + ERR("Not enough memory."); + exit(-1); + } + id = pc->parts_count - 1; + } - current_part = pc->parts[id] = ep; - pcp = (Edje_Part_Collection_Parser *)pc; + current_part = pc->parts[id] = ep; + pcp = (Edje_Part_Collection_Parser *)pc; - ep->id = id; - ep->type = EDJE_PART_TYPE_IMAGE; - ep->mouse_events = pcp->default_mouse_events; - ep->anti_alias = 1; - ep->repeat_events = 0; - ep->ignore_flags = EVAS_EVENT_FLAG_NONE; - ep->mask_flags = EVAS_EVENT_FLAG_NONE; - ep->scale = 0; - ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB; - ep->precise_is_inside = 0; - ep->use_alternate_font_metrics = 0; - ep->access = 0; - ep->clip_to_id = -1; - ep->no_render = 0; - ep->required = 0; - ep->dragable.confine_id = -1; - ep->dragable.threshold_id = -1; - ep->dragable.event_id = -1; - ep->items = NULL; - ep->nested_children_count = 0; + ep->id = id; + ep->type = EDJE_PART_TYPE_IMAGE; + ep->mouse_events = pcp->default_mouse_events; + ep->anti_alias = 1; + ep->repeat_events = 0; + ep->ignore_flags = EVAS_EVENT_FLAG_NONE; + ep->mask_flags = EVAS_EVENT_FLAG_NONE; + ep->scale = 0; + ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB; + ep->precise_is_inside = 0; + ep->use_alternate_font_metrics = 0; + ep->access = 0; + ep->clip_to_id = -1; + ep->no_render = 0; + ep->required = 0; + ep->dragable.confine_id = -1; + ep->dragable.threshold_id = -1; + ep->dragable.event_id = -1; + ep->items = NULL; + ep->nested_children_count = 0; - ep->allowed_seats = NULL; - ep->allowed_seats_count = 0; + ep->allowed_seats = NULL; + ep->allowed_seats_count = 0; - epp = (Edje_Part_Parser *)ep; - epp->reorder.insert_before = NULL; - epp->reorder.insert_after = NULL; - epp->reorder.before = NULL; - epp->reorder.after = NULL; - epp->reorder.linked_prev = 0; - epp->reorder.linked_next = 0; - epp->reorder.done = EINA_FALSE; - epp->can_override = EINA_FALSE; + epp = (Edje_Part_Parser *)ep; + epp->reorder.insert_before = NULL; + epp->reorder.insert_after = NULL; + epp->reorder.before = NULL; + epp->reorder.after = NULL; + epp->reorder.linked_prev = 0; + epp->reorder.linked_next = 0; + epp->reorder.done = EINA_FALSE; + epp->can_override = EINA_FALSE; - return ep; + return ep; } static void * @@ -6292,34 +6454,37 @@ _part_desc_free(Edje_Part_Collection *pc, case EDJE_PART_TYPE_RECTANGLE: case EDJE_PART_TYPE_SWALLOW: case EDJE_PART_TYPE_GROUP: - /* Nothing todo, this part only have a common description. */ - break; + /* Nothing todo, this part only have a common description. */ + break; + case EDJE_PART_TYPE_BOX: case EDJE_PART_TYPE_TABLE: case EDJE_PART_TYPE_IMAGE: case EDJE_PART_TYPE_SNAPSHOT: case EDJE_PART_TYPE_VECTOR: - /* Nothing todo here */ - break; + /* Nothing todo here */ + break; + case EDJE_PART_TYPE_TEXT: case EDJE_PART_TYPE_TEXTBLOCK: - { - Edje_Part_Description_Text *ted = (Edje_Part_Description_Text*) ed; + { + Edje_Part_Description_Text *ted = (Edje_Part_Description_Text *)ed; + + part_lookup_del(pc, &(ted->text.id_source)); + part_lookup_del(pc, &(ted->text.id_text_source)); + break; + } - part_lookup_del(pc, &(ted->text.id_source)); - part_lookup_del(pc, &(ted->text.id_text_source)); - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ped = (Edje_Part_Description_Proxy*) ed; + { + Edje_Part_Description_Proxy *ped = (Edje_Part_Description_Proxy *)ed; - part_lookup_del(pc, &(ped->proxy.id)); - break; - } + part_lookup_del(pc, &(ped->proxy.id)); + break; + } } - free((void*)ed->state.name); + free((void *)ed->state.name); free(ed); return NULL; } @@ -6396,7 +6561,7 @@ _part_create(void) edje_cc_handlers_hierarchy_push(ep, cp); prnt = edje_cc_handlers_hierarchy_parent_get(); - if (prnt) /* This is the child of parent in stack */ + if (prnt) /* This is the child of parent in stack */ prnt->nested_children_count++; } @@ -6406,21 +6571,21 @@ ob_collections_group_parts_part_short(void) unsigned int type; type = parse_enum(-1, - "none", EDJE_PART_TYPE_NONE, - "rect", EDJE_PART_TYPE_RECTANGLE, - "text", EDJE_PART_TYPE_TEXT, - "image", EDJE_PART_TYPE_IMAGE, - "swallow", EDJE_PART_TYPE_SWALLOW, - "textblock", EDJE_PART_TYPE_TEXTBLOCK, - "group", EDJE_PART_TYPE_GROUP, - "box", EDJE_PART_TYPE_BOX, - "table", EDJE_PART_TYPE_TABLE, - "external", EDJE_PART_TYPE_EXTERNAL, - "proxy", EDJE_PART_TYPE_PROXY, - "spacer", EDJE_PART_TYPE_SPACER, - "snapshot", EDJE_PART_TYPE_SNAPSHOT, - "vector", EDJE_PART_TYPE_VECTOR, - NULL); + "none", EDJE_PART_TYPE_NONE, + "rect", EDJE_PART_TYPE_RECTANGLE, + "text", EDJE_PART_TYPE_TEXT, + "image", EDJE_PART_TYPE_IMAGE, + "swallow", EDJE_PART_TYPE_SWALLOW, + "textblock", EDJE_PART_TYPE_TEXTBLOCK, + "group", EDJE_PART_TYPE_GROUP, + "box", EDJE_PART_TYPE_BOX, + "table", EDJE_PART_TYPE_TABLE, + "external", EDJE_PART_TYPE_EXTERNAL, + "proxy", EDJE_PART_TYPE_PROXY, + "spacer", EDJE_PART_TYPE_SPACER, + "snapshot", EDJE_PART_TYPE_SNAPSHOT, + "vector", EDJE_PART_TYPE_VECTOR, + NULL); stack_replace_quick("part"); _part_create(); @@ -6436,7 +6601,7 @@ ob_collections_group_parts_part(void) static void * _part_free(Edje_Part_Collection *pc, Edje_Part *ep) { - Edje_Part_Parser *epp = (Edje_Part_Parser*)ep; + Edje_Part_Parser *epp = (Edje_Part_Parser *)ep; unsigned int j; part_lookup_del(pc, &(ep->clip_to_id)); @@ -6445,33 +6610,33 @@ _part_free(Edje_Part_Collection *pc, Edje_Part *ep) part_lookup_del(pc, &(ep->dragable.event_id)); _part_desc_free(pc, ep, ep->default_desc); - for (j = 0 ; j < ep->other.desc_count ; j++) + for (j = 0; j < ep->other.desc_count; j++) _part_desc_free(pc, ep, ep->other.desc[j]); - for (j = 0 ; j < ep->items_count ; j++) + for (j = 0; j < ep->items_count; j++) free(ep->items[j]); free(ep->items); - for (j = 0 ; j < ep->allowed_seats_count; j++) + for (j = 0; j < ep->allowed_seats_count; j++) { - free((void*)(ep->allowed_seats[j]->name)); + free((void *)(ep->allowed_seats[j]->name)); free(ep->allowed_seats[j]); } free(ep->allowed_seats); - free((void*)ep->name); - free((void*)ep->source); - free((void*)ep->source2); - free((void*)ep->source3); - free((void*)ep->source4); - free((void*)ep->source5); - free((void*)ep->source6); + free((void *)ep->name); + free((void *)ep->source); + free((void *)ep->source2); + free((void *)ep->source3); + free((void *)ep->source4); + free((void *)ep->source5); + free((void *)ep->source6); - free((void*)epp->reorder.insert_before); - free((void*)epp->reorder.insert_after); + free((void *)epp->reorder.insert_before); + free((void *)epp->reorder.insert_after); - free((void*)ep->api.name); - free((void*)ep->api.description); + free((void *)ep->api.name); + free((void *)ep->api.description); free(ep->other.desc); free(ep); @@ -6491,7 +6656,7 @@ _part_free(Edje_Part_Collection *pc, Edje_Part *ep) allowed. @since 1.10 @endproperty -*/ + */ static void st_collections_group_parts_part_inherit(void) { @@ -6520,7 +6685,7 @@ st_collections_group_parts_part_inherit(void) current_part = _part_free(pc, current_part); edje_cc_handlers_part_make(id); _part_copy(current_part, pc->parts[i]); - free((void*)current_part->name); + free((void *)current_part->name); current_part->name = pname; free(name); return; @@ -6540,23 +6705,23 @@ _program_free(Edje_Program *pr) pc = eina_list_last_data_get(edje_collections); - free((void*)pr->name); - free((void*)pr->signal); - free((void*)pr->source); - free((void*)pr->filter.part); - free((void*)pr->filter.state); - free((void*)pr->seat); - free((void*)pr->state); - free((void*)pr->state2); - free((void*)pr->sample_name); - free((void*)pr->tone_name); + free((void *)pr->name); + free((void *)pr->signal); + free((void *)pr->source); + free((void *)pr->filter.part); + free((void *)pr->filter.state); + free((void *)pr->seat); + free((void *)pr->state); + free((void *)pr->state2); + free((void *)pr->sample_name); + free((void *)pr->tone_name); EINA_LIST_FREE(pr->targets, prt) { part_lookup_del(pc, &prt->id); free(prt); } EINA_LIST_FREE(pr->after, pa) - free(pa); + free(pa); free(pr); } @@ -6597,7 +6762,6 @@ _program_remove(const char *name, Edje_Program **pgrms, unsigned int count) return EINA_FALSE; } - static Eina_Bool _part_name_check(void) { @@ -6611,30 +6775,30 @@ _part_name_check(void) for (i = 0; i < (pc->parts_count - 1); i++) { /* Compare name only if did NOT updated ep from hircy pop */ - if ((ep != pc->parts[i]) && - (pc->parts[i]->name && - (!strcmp(pc->parts[i]->name, ep->name)))) - { - Edje_Part_Parser *epp; + if ((ep != pc->parts[i]) && + (pc->parts[i]->name && + (!strcmp(pc->parts[i]->name, ep->name)))) + { + Edje_Part_Parser *epp; - epp = (Edje_Part_Parser *)pc->parts[i]; - if (!epp->can_override) - { - ERR("parse error %s:%i. There is already a part of the name %s", - file_in, line - 1, ep->name); - exit(-1); - } - else - { - pc->parts_count--; - pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *)); - current_part = pc->parts[i]; - edje_cc_handlers_hierarchy_rename(ep, current_part); - free(ep); - epp->can_override = EINA_FALSE; - break; - } - } + epp = (Edje_Part_Parser *)pc->parts[i]; + if (!epp->can_override) + { + ERR("parse error %s:%i. There is already a part of the name %s", + file_in, line - 1, ep->name); + exit(-1); + } + else + { + pc->parts_count--; + pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *)); + current_part = pc->parts[i]; + edje_cc_handlers_hierarchy_rename(ep, current_part); + free(ep); + epp->can_override = EINA_FALSE; + break; + } + } } return EINA_TRUE; } @@ -6650,7 +6814,7 @@ _part_name_check(void) positioning system, by programs and in some cases by the application. It must be unique within the group. @endproperty -*/ + */ static void st_collections_group_parts_part_name(void) { @@ -6690,7 +6854,7 @@ st_collections_group_parts_part_name(void) Defaults: IMAGE @endproperty -*/ + */ static void st_collections_group_parts_part_type(void) { @@ -6768,7 +6932,7 @@ st_collections_group_parts_part_type(void) Defaults: NONE @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_physics_body(void) @@ -6803,6 +6967,7 @@ st_collections_group_parts_part_physics_body(void) pc->physics_enabled = 1; } } + #endif /** @@ -6835,7 +7000,7 @@ st_collections_group_parts_part_physics_body(void) You must define parent part name before adding nested parts. @since 1.7 @endproperty -*/ + */ /** @page edcref @@ -6849,7 +7014,7 @@ st_collections_group_parts_part_physics_body(void) more than one by insert_before. @since 1.1 @endproperty -*/ + */ static void st_collections_group_parts_part_insert_before(void) { @@ -6873,7 +7038,7 @@ st_collections_group_parts_part_insert_before(void) more than one by insert_after. @since 1.1 @endproperty -*/ + */ static void st_collections_group_parts_part_insert_after(void) { @@ -6898,7 +7063,7 @@ st_collections_group_parts_part_insert_after(void) Defaults: group.mouse_events @endproperty -*/ + */ static void st_collections_group_parts_part_mouse_events(void) { @@ -6932,7 +7097,7 @@ st_collections_group_parts_part_nomouse(void) Defaults: 1 @endproperty -*/ + */ static void st_collections_group_parts_part_anti_alias(void) { @@ -6952,7 +7117,7 @@ st_collections_group_parts_part_anti_alias(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_repeat_events(void) { @@ -6994,16 +7159,16 @@ st_collections_group_parts_part_norepeat(void) Defaults: NONE @endproperty -*/ + */ static void st_collections_group_parts_part_ignore_flags(void) { check_min_arg_count(1); current_part->ignore_flags = parse_flags(0, - "NONE", EVAS_EVENT_FLAG_NONE, - "ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD, - NULL); + "NONE", EVAS_EVENT_FLAG_NONE, + "ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD, + NULL); } /** @@ -7021,16 +7186,16 @@ st_collections_group_parts_part_ignore_flags(void) Defaults: NONE @endproperty -*/ + */ static void st_collections_group_parts_part_mask_flags(void) { check_min_arg_count(1); current_part->mask_flags = parse_flags(0, - "NONE", EVAS_EVENT_FLAG_NONE, - "ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD, - NULL); + "NONE", EVAS_EVENT_FLAG_NONE, + "ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD, + NULL); } /** @@ -7051,7 +7216,7 @@ st_collections_group_parts_part_mask_flags(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_scale(void) { @@ -7084,16 +7249,16 @@ st_collections_group_parts_part_noscale(void) Defaults: AUTOGRAB @endproperty -*/ + */ static void st_collections_group_parts_part_pointer_mode(void) { check_arg_count(1); current_part->pointer_mode = parse_enum(0, - "AUTOGRAB", EVAS_OBJECT_POINTER_MODE_AUTOGRAB, - "NOGRAB", EVAS_OBJECT_POINTER_MODE_NOGRAB, - NULL); + "AUTOGRAB", EVAS_OBJECT_POINTER_MODE_AUTOGRAB, + "NOGRAB", EVAS_OBJECT_POINTER_MODE_NOGRAB, + NULL); } /** @@ -7108,7 +7273,7 @@ st_collections_group_parts_part_pointer_mode(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_precise_is_inside(void) { @@ -7146,7 +7311,7 @@ st_collections_group_parts_part_noprecise(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_use_alternate_font_metrics(void) { @@ -7166,7 +7331,7 @@ st_collections_group_parts_part_use_alternate_font_metrics(void) container. Overflowing content will not be displayed. Note that the part being clipped to can only be a rectangle part. @endproperty -*/ + */ static void st_collections_group_parts_part_clip_to_id(void) { @@ -7175,13 +7340,13 @@ st_collections_group_parts_part_clip_to_id(void) check_arg_count(1); pc = eina_list_data_get(eina_list_last(edje_collections)); - { - char *name; + { + char *name; - name = parse_str(0); - data_queue_part_lookup(pc, name, &(current_part->clip_to_id)); - free(name); - } + name = parse_str(0); + data_queue_part_lookup(pc, name, &(current_part->clip_to_id)); + free(name); + } } /** @@ -7200,7 +7365,7 @@ st_collections_group_parts_part_clip_to_id(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_no_render(void) { @@ -7229,7 +7394,7 @@ st_collections_group_parts_part_render(void) Defaults: 0 @since 1.18 @endproperty -*/ + */ static void st_collections_group_parts_part_required(void) { @@ -7252,13 +7417,13 @@ st_collections_group_parts_part_norequired(void) @parameters [another group's name] @effect - Only available to GROUP or TEXTBLOCK parts. Swallows the specified + Only available to GROUP or TEXTBLOCK parts. Swallows the specified group into the part's container if a GROUP. If TEXTBLOCK it is used for the group to be loaded and used for selection display UNDER the selected text. source2 is used for on top of the selected text, if source2 is specified. @endproperty -*/ + */ static void st_collections_group_parts_part_source(void) { @@ -7276,11 +7441,11 @@ st_collections_group_parts_part_source(void) @parameters [another group's name] @effect - Only available to TEXTBLOCK parts. It is used for the group to be + Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for selection display OVER the selected text. source is used for under of the selected text, if source is specified. @endproperty -*/ + */ static void st_collections_group_parts_part_source2(void) { @@ -7298,11 +7463,11 @@ st_collections_group_parts_part_source2(void) @parameters [another group's name] @effect - Only available to TEXTBLOCK parts. It is used for the group to be + Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for cursor display UNDER the cursor position. source4 is used for over the cursor text, if source4 is specified. @endproperty -*/ + */ static void st_collections_group_parts_part_source3(void) { @@ -7320,11 +7485,11 @@ st_collections_group_parts_part_source3(void) @parameters [another group's name] @effect - Only available to TEXTBLOCK parts. It is used for the group to be + Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for cursor display OVER the cursor position. source3 is used for under the cursor text, if source4 is specified. @endproperty -*/ + */ static void st_collections_group_parts_part_source4(void) { @@ -7342,11 +7507,11 @@ st_collections_group_parts_part_source4(void) @parameters [another group's name] @effect - Only available to TEXTBLOCK parts. It is used for the group to be + Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for anchors display UNDER the anchor position. source6 is used for over the anchors text, if source6 is specified. @endproperty -*/ + */ static void st_collections_group_parts_part_source5(void) { @@ -7364,11 +7529,11 @@ st_collections_group_parts_part_source5(void) @parameters [another group's name] @effect - Only available to TEXTBLOCK parts. It is used for the group to be + Only available to TEXTBLOCK parts. It is used for the group to be loaded and used for anchor display OVER the anchor position. source5 is used for under the anchor text, if source6 is specified. @endproperty -*/ + */ static void st_collections_group_parts_part_source6(void) { @@ -7412,39 +7577,39 @@ st_collections_group_parts_part_source6(void) Defaults: PLAIN @endproperty -*/ + */ static void st_collections_group_parts_part_effect(void) { check_min_arg_count(1); current_part->effect = parse_enum(0, - "NONE", EDJE_TEXT_EFFECT_NONE, - "PLAIN", EDJE_TEXT_EFFECT_PLAIN, - "OUTLINE", EDJE_TEXT_EFFECT_OUTLINE, - "SOFT_OUTLINE", EDJE_TEXT_EFFECT_SOFT_OUTLINE, - "SHADOW", EDJE_TEXT_EFFECT_SHADOW, - "SOFT_SHADOW", EDJE_TEXT_EFFECT_SOFT_SHADOW, - "OUTLINE_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SHADOW, - "OUTLINE_SOFT_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW, - "FAR_SHADOW", EDJE_TEXT_EFFECT_FAR_SHADOW, - "FAR_SOFT_SHADOW", EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW, - "GLOW", EDJE_TEXT_EFFECT_GLOW, - NULL); + "NONE", EDJE_TEXT_EFFECT_NONE, + "PLAIN", EDJE_TEXT_EFFECT_PLAIN, + "OUTLINE", EDJE_TEXT_EFFECT_OUTLINE, + "SOFT_OUTLINE", EDJE_TEXT_EFFECT_SOFT_OUTLINE, + "SHADOW", EDJE_TEXT_EFFECT_SHADOW, + "SOFT_SHADOW", EDJE_TEXT_EFFECT_SOFT_SHADOW, + "OUTLINE_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SHADOW, + "OUTLINE_SOFT_SHADOW", EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW, + "FAR_SHADOW", EDJE_TEXT_EFFECT_FAR_SHADOW, + "FAR_SOFT_SHADOW", EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW, + "GLOW", EDJE_TEXT_EFFECT_GLOW, + NULL); if (get_arg_count() >= 2) { unsigned char shadow; - + shadow = parse_enum(1, - "BOTTOM_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT, - "BOTTOM", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM, - "BOTTOM_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT, - "LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT, - "TOP_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT, - "TOP", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP, - "TOP_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT, - "RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT, - NULL); + "BOTTOM_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT, + "BOTTOM", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM, + "BOTTOM_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT, + "LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT, + "TOP_LEFT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT, + "TOP", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP, + "TOP_RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT, + "RIGHT", EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT, + NULL); EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(current_part->effect, shadow); } } @@ -7470,18 +7635,18 @@ st_collections_group_parts_part_effect(void) Defaults: NONE @endproperty -*/ + */ static void st_collections_group_parts_part_entry_mode(void) { check_arg_count(1); current_part->entry_mode = parse_enum(0, - "NONE", EDJE_ENTRY_EDIT_MODE_NONE, - "PLAIN", EDJE_ENTRY_EDIT_MODE_SELECTABLE, - "EDITABLE", EDJE_ENTRY_EDIT_MODE_EDITABLE, - "PASSWORD", EDJE_ENTRY_EDIT_MODE_PASSWORD, - NULL); + "NONE", EDJE_ENTRY_EDIT_MODE_NONE, + "PLAIN", EDJE_ENTRY_EDIT_MODE_SELECTABLE, + "EDITABLE", EDJE_ENTRY_EDIT_MODE_EDITABLE, + "PASSWORD", EDJE_ENTRY_EDIT_MODE_PASSWORD, + NULL); } /** @@ -7498,16 +7663,16 @@ st_collections_group_parts_part_entry_mode(void) controlling the edje object has to explicitly begin and end selection modes, and the selection itself is draggable at both ends. @endproperty -*/ + */ static void st_collections_group_parts_part_select_mode(void) { check_arg_count(1); current_part->select_mode = parse_enum(0, - "DEFAULT", EDJE_ENTRY_SELECTION_MODE_DEFAULT, - "EXPLICIT", EDJE_ENTRY_SELECTION_MODE_EXPLICIT, - NULL); + "DEFAULT", EDJE_ENTRY_SELECTION_MODE_DEFAULT, + "EXPLICIT", EDJE_ENTRY_SELECTION_MODE_EXPLICIT, + NULL); } /** @@ -7524,16 +7689,16 @@ st_collections_group_parts_part_select_mode(void) Defaults: UNDER @endproperty -*/ + */ static void st_collections_group_parts_part_cursor_mode(void) { check_arg_count(1); current_part->cursor_mode = parse_enum(0, - "UNDER", EDJE_ENTRY_CURSOR_MODE_UNDER, - "BEFORE", EDJE_ENTRY_CURSOR_MODE_BEFORE, - NULL); + "UNDER", EDJE_ENTRY_CURSOR_MODE_UNDER, + "BEFORE", EDJE_ENTRY_CURSOR_MODE_BEFORE, + NULL); } /** @@ -7548,7 +7713,7 @@ st_collections_group_parts_part_cursor_mode(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_multiline(void) { @@ -7560,7 +7725,7 @@ st_collections_group_parts_part_multiline(void) /** @page edcref @property - access + access @parameters [1 or 0] @effect @@ -7568,7 +7733,7 @@ st_collections_group_parts_part_multiline(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_access(void) { @@ -7620,7 +7785,7 @@ st_collections_group_parts_part_access(void) Defaults: 0 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_dragable_x(void) { @@ -7648,7 +7813,7 @@ st_collections_group_parts_part_dragable_x(void) Defaults: 0 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_dragable_y(void) { @@ -7670,7 +7835,7 @@ st_collections_group_parts_part_dragable_y(void) container. When you use confine don't forget to set a min size for the part, or the draggie will not show up. @endproperty -*/ + */ static void st_collections_group_parts_part_dragable_confine(void) { @@ -7679,13 +7844,13 @@ st_collections_group_parts_part_dragable_confine(void) check_arg_count(1); pc = eina_list_data_get(eina_list_last(edje_collections)); - { - char *name; + { + char *name; - name = parse_str(0); - data_queue_part_lookup(pc, name, &(current_part->dragable.confine_id)); - free(name); - } + name = parse_str(0); + data_queue_part_lookup(pc, name, &(current_part->dragable.confine_id)); + free(name); + } } /** @@ -7698,7 +7863,7 @@ st_collections_group_parts_part_dragable_confine(void) When set, the movement of the dragged part can only start when it get moved enough to be outside of the threshold part. @endproperty -*/ + */ static void st_collections_group_parts_part_dragable_threshold(void) { @@ -7707,13 +7872,13 @@ st_collections_group_parts_part_dragable_threshold(void) check_arg_count(1); pc = eina_list_data_get(eina_list_last(edje_collections)); - { - char *name; + { + char *name; - name = parse_str(0); - data_queue_part_lookup(pc, name, &(current_part->dragable.threshold_id)); - free(name); - } + name = parse_str(0); + data_queue_part_lookup(pc, name, &(current_part->dragable.threshold_id)); + free(name); + } } /** @@ -7726,7 +7891,7 @@ st_collections_group_parts_part_dragable_threshold(void) It causes the part to forward the drag events to another part, thus ignoring them for itself. @endproperty -*/ + */ static void st_collections_group_parts_part_dragable_events(void) { @@ -7735,13 +7900,13 @@ st_collections_group_parts_part_dragable_events(void) check_arg_count(1); pc = eina_list_data_get(eina_list_last(edje_collections)); - { - char *name; + { + char *name; - name = parse_str(0); - data_queue_part_lookup(pc, name, &(current_part->dragable.event_id)); - free(name); - } + name = parse_str(0); + data_queue_part_lookup(pc, name, &(current_part->dragable.event_id)); + free(name); + } } /** @@ -7761,7 +7926,7 @@ st_collections_group_parts_part_dragable_events(void) Also it won't be able to focus this part. @since 1.19 @endproperty -*/ + */ static void st_collections_group_parts_part_allowed_seats(void) { @@ -7826,8 +7991,9 @@ st_collections_group_parts_part_allowed_seats(void) as elements of the box. These can be mixed with external objects set by the application through the edje_object_part_box_* API. @endblock -*/ -static void ob_collections_group_parts_part_box_items_item(void) + */ +static void +ob_collections_group_parts_part_box_items_item(void) { Edje_Part *ep; Edje_Pack_Element *item; @@ -7843,7 +8009,7 @@ static void ob_collections_group_parts_part_box_items_item(void) } ep->items_count++; - ep->items = realloc(ep->items, sizeof (Edje_Pack_Element*) * ep->items_count); + ep->items = realloc(ep->items, sizeof (Edje_Pack_Element *) * ep->items_count); if (!ep->items) { ERR("Not enough memory."); @@ -7883,12 +8049,12 @@ static void ob_collections_group_parts_part_box_items_item(void) pitem->can_override = EINA_FALSE; } -#define CURRENT_ITEM_CHECK \ - if (!current_item) \ - { \ - ERR("parse error %s:%i. Item not defined at this stage.", \ - file_in, line - 1); \ - exit(-1); \ +#define CURRENT_ITEM_CHECK \ + if (!current_item) \ + { \ + ERR("parse error %s:%i. Item not defined at this stage.", \ + file_in, line - 1); \ + exit(-1); \ } /** @@ -7902,28 +8068,29 @@ static void ob_collections_group_parts_part_box_items_item(void) Supported types are: @li GROUP @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_type(void) + */ +static void +st_collections_group_parts_part_box_items_item_type(void) { CURRENT_ITEM_CHECK; check_arg_count(1); - { - char *s; + { + char *s; - s = parse_str(0); - if (strcmp(s, "GROUP")) - { - ERR("parse error %s:%i. token %s not one of: GROUP.", - file_in, line - 1, s); - free(s); - exit(-1); - } - free(s); - /* FIXME: handle the enum, once everything else is supported */ - current_item->type = EDJE_PART_TYPE_GROUP; - } + s = parse_str(0); + if (strcmp(s, "GROUP")) + { + ERR("parse error %s:%i. token %s not one of: GROUP.", + file_in, line - 1, s); + free(s); + exit(-1); + } + free(s); + /* FIXME: handle the enum, once everything else is supported */ + current_item->type = EDJE_PART_TYPE_GROUP; + } } /** @@ -7935,8 +8102,9 @@ static void st_collections_group_parts_part_box_items_item_type(void) @effect Sets the name of the object via evas_object_name_set(). @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_name(void) + */ +static void +st_collections_group_parts_part_box_items_item_name(void) { Edje_Part *ep; Edje_Pack_Element *item; @@ -7951,32 +8119,32 @@ static void st_collections_group_parts_part_box_items_item_name(void) item->name = parse_str(0); - { - unsigned int i; + { + unsigned int i; - for (i = 0; i < ep->items_count - 1; ++i) - { - if (ep->items[i]->name && (!strcmp(ep->items[i]->name, item->name))) - { - pitem = (Edje_Pack_Element_Parser *)ep->items[i]; - if (!pitem->can_override) - { - ERR("parse error %s:%i. There is already a item of the name %s", - file_in, line - 1, item->name); - exit(-1); - } - else - { - free(item); - ep->items_count--; - ep->items = realloc(ep->items, ep->items_count * sizeof (Edje_Pack_Element *)); - current_item = ep->items[i]; - pitem->can_override = EINA_FALSE; - break; - } - } - } - } + for (i = 0; i < ep->items_count - 1; ++i) + { + if (ep->items[i]->name && (!strcmp(ep->items[i]->name, item->name))) + { + pitem = (Edje_Pack_Element_Parser *)ep->items[i]; + if (!pitem->can_override) + { + ERR("parse error %s:%i. There is already a item of the name %s", + file_in, line - 1, item->name); + exit(-1); + } + else + { + free(item); + ep->items_count--; + ep->items = realloc(ep->items, ep->items_count * sizeof (Edje_Pack_Element *)); + current_item = ep->items[i]; + pitem->can_override = EINA_FALSE; + break; + } + } + } + } } /** @@ -7988,8 +8156,9 @@ static void st_collections_group_parts_part_box_items_item_name(void) @effect Sets the group this object will be made from. @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_source(void) + */ +static void +st_collections_group_parts_part_box_items_item_source(void) { CURRENT_ITEM_CHECK; @@ -8010,8 +8179,9 @@ static void st_collections_group_parts_part_box_items_item_source(void) Defaults: 0 0 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_min(void) + */ +static void +st_collections_group_parts_part_box_items_item_min(void) { CURRENT_ITEM_CHECK; @@ -8033,8 +8203,9 @@ static void st_collections_group_parts_part_box_items_item_min(void) Defaults: 1 1 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_spread(void) + */ +static void +st_collections_group_parts_part_box_items_item_spread(void) { CURRENT_ITEM_CHECK; @@ -8055,8 +8226,9 @@ static void st_collections_group_parts_part_box_items_item_spread(void) Defaults: 0 0 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_prefer(void) + */ +static void +st_collections_group_parts_part_box_items_item_prefer(void) { CURRENT_ITEM_CHECK; @@ -8065,6 +8237,7 @@ static void st_collections_group_parts_part_box_items_item_prefer(void) current_item->prefer.w = parse_int_range(0, 0, 0x7ffffff); current_item->prefer.h = parse_int_range(1, 0, 0x7ffffff); } + /** @page edcref @property @@ -8076,8 +8249,9 @@ static void st_collections_group_parts_part_box_items_item_prefer(void) Defaults: -1 -1 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_max(void) + */ +static void +st_collections_group_parts_part_box_items_item_max(void) { CURRENT_ITEM_CHECK; @@ -8098,8 +8272,9 @@ static void st_collections_group_parts_part_box_items_item_max(void) Defaults: 0 0 0 0 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_padding(void) + */ +static void +st_collections_group_parts_part_box_items_item_padding(void) { CURRENT_ITEM_CHECK; @@ -8122,8 +8297,9 @@ static void st_collections_group_parts_part_box_items_item_padding(void) Defaults: 0.5 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_align(void) + */ +static void +st_collections_group_parts_part_box_items_item_align(void) { CURRENT_ITEM_CHECK; @@ -8144,8 +8320,9 @@ static void st_collections_group_parts_part_box_items_item_align(void) Defaults: 0.0 0.0 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_weight(void) + */ +static void +st_collections_group_parts_part_box_items_item_weight(void) { CURRENT_ITEM_CHECK; @@ -8166,8 +8343,9 @@ static void st_collections_group_parts_part_box_items_item_weight(void) Defaults: 0 0 @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_aspect(void) + */ +static void +st_collections_group_parts_part_box_items_item_aspect(void) { CURRENT_ITEM_CHECK; @@ -8193,20 +8371,21 @@ static void st_collections_group_parts_part_box_items_item_aspect(void) Defaults: NONE @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_aspect_mode(void) + */ +static void +st_collections_group_parts_part_box_items_item_aspect_mode(void) { CURRENT_ITEM_CHECK; check_arg_count(1); current_item->aspect.mode = parse_enum(0, - "NONE", EDJE_ASPECT_CONTROL_NONE, - "NEITHER", EDJE_ASPECT_CONTROL_NEITHER, - "HORIZONTAL", EDJE_ASPECT_CONTROL_HORIZONTAL, - "VERTICAL", EDJE_ASPECT_CONTROL_VERTICAL, - "BOTH", EDJE_ASPECT_CONTROL_BOTH, - NULL); + "NONE", EDJE_ASPECT_CONTROL_NONE, + "NEITHER", EDJE_ASPECT_CONTROL_NEITHER, + "HORIZONTAL", EDJE_ASPECT_CONTROL_HORIZONTAL, + "VERTICAL", EDJE_ASPECT_CONTROL_VERTICAL, + "BOTH", EDJE_ASPECT_CONTROL_BOTH, + NULL); } /** @@ -8218,8 +8397,9 @@ static void st_collections_group_parts_part_box_items_item_aspect_mode(void) @effect Sets extra options for the object. Unused for now. @endproperty -*/ -static void st_collections_group_parts_part_box_items_item_options(void) + */ +static void +st_collections_group_parts_part_box_items_item_options(void) { CURRENT_ITEM_CHECK; @@ -8238,8 +8418,9 @@ static void st_collections_group_parts_part_box_items_item_options(void) Sets the position this item will have in the table. This is required for parts of type TABLE. @endproperty -*/ -static void st_collections_group_parts_part_table_items_item_position(void) + */ +static void +st_collections_group_parts_part_table_items_item_position(void) { CURRENT_ITEM_CHECK; @@ -8267,8 +8448,9 @@ static void st_collections_group_parts_part_table_items_item_position(void) Defaults: 1 1 @endproperty -*/ -static void st_collections_group_parts_part_table_items_item_span(void) + */ +static void +st_collections_group_parts_part_table_items_item_span(void) { CURRENT_ITEM_CHECK; @@ -8347,96 +8529,96 @@ _copied_map_colors_get(Edje_Part_Description_Common *parent) used to define style and layout properties of a part in a given "state". @endblock -*/ + */ static void ob_collections_group_parts_part_description(void) { /* Allocate and set desc, set relative part hierarchy if needed */ - Edje_Part_Collection *pc; - Edje_Part *ep; - Edje_Part_Description_Common *ed; + Edje_Part_Collection *pc; + Edje_Part *ep; + Edje_Part_Description_Common *ed; - pc = eina_list_data_get(eina_list_last(edje_collections)); - ep = current_part; + pc = eina_list_data_get(eina_list_last(edje_collections)); + ep = current_part; - ed = _edje_part_description_alloc(ep->type, pc->part, ep->name); - eina_hash_add(desc_hash, &ed, ep); + ed = _edje_part_description_alloc(ep->type, pc->part, ep->name); + eina_hash_add(desc_hash, &ed, ep); - ed->rel1.id_x = -1; - ed->rel1.id_y = -1; - ed->rel2.id_x = -1; - ed->rel2.id_y = -1; - ed->clip_to_id = -1; + ed->rel1.id_x = -1; + ed->rel1.id_y = -1; + ed->rel2.id_x = -1; + ed->rel2.id_y = -1; + ed->clip_to_id = -1; - if (!ep->default_desc) - { - current_desc = ep->default_desc = ed; - ed->state.name = strdup("default"); + if (!ep->default_desc) + { + current_desc = ep->default_desc = ed; + ed->state.name = strdup("default"); - { /* Get the ptr of the part above current part in hierarchy */ - Edje_Part *node = edje_cc_handlers_hierarchy_parent_get(); - if (node) /* Make relative according to part hierarchy */ - edje_cc_handlers_hierarchy_set(node); - } - } - else - { - ep->other.desc_count++; - ep->other.desc = realloc(ep->other.desc, - sizeof (Edje_Part_Description_Common*) * ep->other.desc_count); - current_desc = ep->other.desc[ep->other.desc_count - 1] = ed; - } + { /* Get the ptr of the part above current part in hierarchy */ + Edje_Part *node = edje_cc_handlers_hierarchy_parent_get(); + if (node) /* Make relative according to part hierarchy */ + edje_cc_handlers_hierarchy_set(node); + } + } + else + { + ep->other.desc_count++; + ep->other.desc = realloc(ep->other.desc, + sizeof (Edje_Part_Description_Common *) * ep->other.desc_count); + current_desc = ep->other.desc[ep->other.desc_count - 1] = ed; + } - ed->visible = 1; - ed->limit = 0; - ed->no_render = 0; - ed->align.x = FROM_DOUBLE(0.5); - ed->align.y = FROM_DOUBLE(0.5); - ed->min.w = 0; - ed->min.h = 0; - ed->fixed.w = 0; - ed->fixed.h = 0; - ed->max.w = -1; - ed->max.h = -1; - ed->size_class = NULL; - ed->rel1.relative_x = FROM_DOUBLE(0.0); - ed->rel1.relative_y = FROM_DOUBLE(0.0); - ed->rel1.offset_x = 0; - ed->rel1.offset_y = 0; - ed->rel2.relative_x = FROM_DOUBLE(1.0); - ed->rel2.relative_y = FROM_DOUBLE(1.0); - ed->rel2.offset_x = -1; - ed->rel2.offset_y = -1; - ed->color_class = NULL; - ed->color.r = 255; - ed->color.g = 255; - ed->color.b = 255; - ed->color.a = 255; - ed->color2.r = 0; - ed->color2.g = 0; - ed->color2.b = 0; - ed->color2.a = 255; - ed->map.id_persp = -1; - ed->map.id_light = -1; - ed->map.rot.id_center = -1; - ed->map.rot.x = FROM_DOUBLE(0.0); - ed->map.rot.y = FROM_DOUBLE(0.0); - ed->map.rot.z = FROM_DOUBLE(0.0); - ed->map.on = 0; - ed->map.smooth = 1; - ed->map.alpha = 1; - ed->map.backcull = 0; - ed->map.persp_on = 0; - ed->map.colors = NULL; - ed->map.zoom.x = FROM_DOUBLE(1.0); - ed->map.zoom.y = FROM_DOUBLE(1.0); - ed->persp.zplane = 0; - ed->persp.focal = 1000; - ed->minmul.have = 1; - ed->minmul.w = FROM_DOUBLE(1.0); - ed->minmul.h = FROM_DOUBLE(1.0); - ed->align_3d.x = FROM_DOUBLE(0.5); - ed->align_3d.y = FROM_DOUBLE(0.5); - ed->align_3d.z = FROM_DOUBLE(0.5); + ed->visible = 1; + ed->limit = 0; + ed->no_render = 0; + ed->align.x = FROM_DOUBLE(0.5); + ed->align.y = FROM_DOUBLE(0.5); + ed->min.w = 0; + ed->min.h = 0; + ed->fixed.w = 0; + ed->fixed.h = 0; + ed->max.w = -1; + ed->max.h = -1; + ed->size_class = NULL; + ed->rel1.relative_x = FROM_DOUBLE(0.0); + ed->rel1.relative_y = FROM_DOUBLE(0.0); + ed->rel1.offset_x = 0; + ed->rel1.offset_y = 0; + ed->rel2.relative_x = FROM_DOUBLE(1.0); + ed->rel2.relative_y = FROM_DOUBLE(1.0); + ed->rel2.offset_x = -1; + ed->rel2.offset_y = -1; + ed->color_class = NULL; + ed->color.r = 255; + ed->color.g = 255; + ed->color.b = 255; + ed->color.a = 255; + ed->color2.r = 0; + ed->color2.g = 0; + ed->color2.b = 0; + ed->color2.a = 255; + ed->map.id_persp = -1; + ed->map.id_light = -1; + ed->map.rot.id_center = -1; + ed->map.rot.x = FROM_DOUBLE(0.0); + ed->map.rot.y = FROM_DOUBLE(0.0); + ed->map.rot.z = FROM_DOUBLE(0.0); + ed->map.on = 0; + ed->map.smooth = 1; + ed->map.alpha = 1; + ed->map.backcull = 0; + ed->map.persp_on = 0; + ed->map.colors = NULL; + ed->map.zoom.x = FROM_DOUBLE(1.0); + ed->map.zoom.y = FROM_DOUBLE(1.0); + ed->persp.zplane = 0; + ed->persp.focal = 1000; + ed->minmul.have = 1; + ed->minmul.w = FROM_DOUBLE(1.0); + ed->minmul.h = FROM_DOUBLE(1.0); + ed->align_3d.x = FROM_DOUBLE(0.5); + ed->align_3d.y = FROM_DOUBLE(0.5); + ed->align_3d.z = FROM_DOUBLE(0.5); } static void @@ -8459,7 +8641,7 @@ ob_collections_group_parts_part_desc(void) simple state changes. Note: inheritance in Edje is single level only. @since 1.14 omitting both the description name and index will inherit the default 0.0 description. @endproperty -*/ + */ static void st_collections_group_parts_part_description_inherit(void) { @@ -8495,19 +8677,22 @@ st_collections_group_parts_part_description_inherit(void) case 0: parent_name = strdup("default"); break; + case 2: parent_val = parse_float_range(1, 0.0, 1.0); EINA_FALLTHROUGH; + case 1: parent_name = parse_str(0); break; + default: ERR("parse error %s:%i. too many parameters", file_in, line - 1); exit(-1); } - if (!strcmp (parent_name, "default") && parent_val == 0.0) + if (!strcmp(parent_name, "default") && parent_val == 0.0) parent = ep->default_desc; else { @@ -8525,9 +8710,8 @@ st_collections_group_parts_part_description_inherit(void) { d = ep->other.desc[i]; - if (!strcmp (d->state.name, parent_name)) + if (!strcmp(d->state.name, parent_name)) { - double dst; dst = ABS(d->state.value - parent_val); @@ -8539,8 +8723,8 @@ st_collections_group_parts_part_description_inherit(void) } } - if (min_dst) - { + if (min_dst) + { WRN("%s:%i: couldn't find an exact match in part '%s' when looking for '%s' %lf. Falling back to nearest one '%s' %lf.", file_in, line - 1, ep->name, parent_name, parent_val, parent ? parent->state.name : NULL, parent ? parent->state.value : 0); } @@ -8598,162 +8782,173 @@ st_collections_group_parts_part_description_inherit(void) case EDJE_PART_TYPE_RECTANGLE: case EDJE_PART_TYPE_SWALLOW: case EDJE_PART_TYPE_GROUP: - /* Nothing todo, this part only have a common description. */ - break; + /* Nothing todo, this part only have a common description. */ + break; + case EDJE_PART_TYPE_TEXT: case EDJE_PART_TYPE_TEXTBLOCK: - { - Edje_Part_Description_Text *ted = (Edje_Part_Description_Text*) ed; - Edje_Part_Description_Text *tparent = (Edje_Part_Description_Text*) parent; + { + Edje_Part_Description_Text *ted = (Edje_Part_Description_Text *)ed; + Edje_Part_Description_Text *tparent = (Edje_Part_Description_Text *)parent; - ted->text = tparent->text; + ted->text = tparent->text; - ted->text.text.str = STRDUP(ted->text.text.str); - ted->text.domain = STRDUP(ted->text.domain); - ted->text.text_class = STRDUP(ted->text.text_class); - ted->text.font.str = STRDUP(ted->text.font.str); + ted->text.text.str = STRDUP(ted->text.text.str); + ted->text.domain = STRDUP(ted->text.domain); + ted->text.text_class = STRDUP(ted->text.text_class); + ted->text.font.str = STRDUP(ted->text.font.str); - _filter_copy(&ted->filter, &tparent->filter); - data_queue_copied_part_nest_lookup(pc, &(tparent->text.id_source), &(ted->text.id_source), &ted->text.id_source_part); - data_queue_copied_part_nest_lookup(pc, &(tparent->text.id_text_source), &(ted->text.id_text_source), &ted->text.id_text_source_part); + _filter_copy(&ted->filter, &tparent->filter); + data_queue_copied_part_nest_lookup(pc, &(tparent->text.id_source), &(ted->text.id_source), &ted->text.id_source_part); + data_queue_copied_part_nest_lookup(pc, &(tparent->text.id_text_source), &(ted->text.id_text_source), &ted->text.id_text_source_part); + + break; + } - break; - } case EDJE_PART_TYPE_IMAGE: + { + Edje_Part_Description_Image *ied = (Edje_Part_Description_Image *)ed; + Edje_Part_Description_Image *iparent = (Edje_Part_Description_Image *)parent; + unsigned int i; + + ied->image = iparent->image; + + data_queue_image_remove(&ied->image.id, &ied->image.set); + data_queue_copied_image_lookup(&iparent->image.id, &ied->image.id, &ied->image.set); + + ied->image.tweens = calloc(iparent->image.tweens_count, + sizeof (Edje_Part_Image_Id *)); + for (i = 0; i < iparent->image.tweens_count; i++) { - Edje_Part_Description_Image *ied = (Edje_Part_Description_Image *) ed; - Edje_Part_Description_Image *iparent = (Edje_Part_Description_Image *) parent; - unsigned int i; + Edje_Part_Image_Id *iid_new; - ied->image = iparent->image; + iid = iparent->image.tweens[i]; + iid_new = mem_alloc(SZ(Edje_Part_Image_Id)); data_queue_image_remove(&ied->image.id, &ied->image.set); - data_queue_copied_image_lookup(&iparent->image.id, &ied->image.id, &ied->image.set); - - ied->image.tweens = calloc(iparent->image.tweens_count, - sizeof (Edje_Part_Image_Id*)); - for (i = 0; i < iparent->image.tweens_count; i++) - { - Edje_Part_Image_Id *iid_new; - - iid = iparent->image.tweens[i]; - - iid_new = mem_alloc(SZ(Edje_Part_Image_Id)); - data_queue_image_remove(&ied->image.id, &ied->image.set); - data_queue_copied_image_lookup(&(iid->id), &(iid_new->id), &(iid_new->set)); - ied->image.tweens[i] = iid_new; - } - - _filter_copy(&ied->filter, &iparent->filter); - - break; + data_queue_copied_image_lookup(&(iid->id), &(iid_new->id), &(iid_new->set)); + ied->image.tweens[i] = iid_new; } + + _filter_copy(&ied->filter, &iparent->filter); + + break; + } + case EDJE_PART_TYPE_SNAPSHOT: - { - Edje_Part_Description_Snapshot *sed = (Edje_Part_Description_Snapshot*) ed; - Edje_Part_Description_Snapshot *sparent = (Edje_Part_Description_Snapshot*) parent; + { + Edje_Part_Description_Snapshot *sed = (Edje_Part_Description_Snapshot *)ed; + Edje_Part_Description_Snapshot *sparent = (Edje_Part_Description_Snapshot *)parent; - _filter_copy(&sed->filter, &sparent->filter); + _filter_copy(&sed->filter, &sparent->filter); + + break; + } - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ped = (Edje_Part_Description_Proxy*) ed; - Edje_Part_Description_Proxy *pparent = (Edje_Part_Description_Proxy*) parent; + { + Edje_Part_Description_Proxy *ped = (Edje_Part_Description_Proxy *)ed; + Edje_Part_Description_Proxy *pparent = (Edje_Part_Description_Proxy *)parent; - data_queue_copied_part_lookup(pc, &(pparent->proxy.id), &(ped->proxy.id)); - ped->proxy.source_clip = pparent->proxy.source_clip; - ped->proxy.source_visible = pparent->proxy.source_visible; - _filter_copy(&ped->filter, &pparent->filter); + data_queue_copied_part_lookup(pc, &(pparent->proxy.id), &(ped->proxy.id)); + ped->proxy.source_clip = pparent->proxy.source_clip; + ped->proxy.source_visible = pparent->proxy.source_visible; + _filter_copy(&ped->filter, &pparent->filter); + + break; + } - break; - } case EDJE_PART_TYPE_BOX: - { - Edje_Part_Description_Box *bed = (Edje_Part_Description_Box *) ed; - Edje_Part_Description_Box *bparent = (Edje_Part_Description_Box *) parent; + { + Edje_Part_Description_Box *bed = (Edje_Part_Description_Box *)ed; + Edje_Part_Description_Box *bparent = (Edje_Part_Description_Box *)parent; - bed->box = bparent->box; + bed->box = bparent->box; + + break; + } - break; - } case EDJE_PART_TYPE_TABLE: - { - Edje_Part_Description_Table *ted = (Edje_Part_Description_Table *) ed; - Edje_Part_Description_Table *tparent = (Edje_Part_Description_Table *) parent; + { + Edje_Part_Description_Table *ted = (Edje_Part_Description_Table *)ed; + Edje_Part_Description_Table *tparent = (Edje_Part_Description_Table *)parent; - ted->table = tparent->table; + ted->table = tparent->table; + + break; + } - break; - } case EDJE_PART_TYPE_EXTERNAL: - { - Edje_Part_Description_External *eed = (Edje_Part_Description_External *) ed; - Edje_Part_Description_External *eparent = (Edje_Part_Description_External *) parent; + { + Edje_Part_Description_External *eed = (Edje_Part_Description_External *)ed; + Edje_Part_Description_External *eparent = (Edje_Part_Description_External *)parent; - if (eparent->external_params) + if (eparent->external_params) + { + Eina_List *l; + Edje_External_Param *param, *new_param; + + eed->external_params = NULL; + EINA_LIST_FOREACH(eparent->external_params, l, param) { - Eina_List *l; - Edje_External_Param *param, *new_param; - - eed->external_params = NULL; - EINA_LIST_FOREACH(eparent->external_params, l, param) - { - new_param = mem_alloc(SZ(Edje_External_Param)); - *new_param = *param; - eed->external_params = eina_list_append(eed->external_params, new_param); - } + new_param = mem_alloc(SZ(Edje_External_Param)); + *new_param = *param; + eed->external_params = eina_list_append(eed->external_params, new_param); } - break; } + break; + } + case EDJE_PART_TYPE_CAMERA: - { - Edje_Part_Description_Camera *ced = (Edje_Part_Description_Camera *) ed; - Edje_Part_Description_Camera *cparent = (Edje_Part_Description_Camera *) parent; + { + Edje_Part_Description_Camera *ced = (Edje_Part_Description_Camera *)ed; + Edje_Part_Description_Camera *cparent = (Edje_Part_Description_Camera *)parent; - ced->camera = cparent->camera; + ced->camera = cparent->camera; - data_queue_copied_part_lookup(pc, &(cparent->camera.orientation.look_to), &(ced->camera.orientation.look_to)); + data_queue_copied_part_lookup(pc, &(cparent->camera.orientation.look_to), &(ced->camera.orientation.look_to)); + + break; + } - break; - } case EDJE_PART_TYPE_LIGHT: - { - Edje_Part_Description_Light *led = (Edje_Part_Description_Light *) ed; - Edje_Part_Description_Light *lparent = (Edje_Part_Description_Light *) parent; + { + Edje_Part_Description_Light *led = (Edje_Part_Description_Light *)ed; + Edje_Part_Description_Light *lparent = (Edje_Part_Description_Light *)parent; - led->light = lparent->light; + led->light = lparent->light; - data_queue_copied_part_lookup(pc, &(lparent->light.orientation.look_to), &(led->light.orientation.look_to)); + data_queue_copied_part_lookup(pc, &(lparent->light.orientation.look_to), &(led->light.orientation.look_to)); + + break; + } - break; - } case EDJE_PART_TYPE_MESH_NODE: - { - Edje_Part_Description_Mesh_Node *med = (Edje_Part_Description_Mesh_Node *) ed; - Edje_Part_Description_Mesh_Node *mparent = (Edje_Part_Description_Mesh_Node *) parent; + { + Edje_Part_Description_Mesh_Node *med = (Edje_Part_Description_Mesh_Node *)ed; + Edje_Part_Description_Mesh_Node *mparent = (Edje_Part_Description_Mesh_Node *)parent; - med->mesh_node = mparent->mesh_node; + med->mesh_node = mparent->mesh_node; - data_queue_model_remove(&med->mesh_node.mesh.id, &med->mesh_node.mesh.set); - data_queue_copied_model_lookup(&mparent->mesh_node.mesh.id, &med->mesh_node.mesh.id, &med->mesh_node.mesh.set); + data_queue_model_remove(&med->mesh_node.mesh.id, &med->mesh_node.mesh.set); + data_queue_copied_model_lookup(&mparent->mesh_node.mesh.id, &med->mesh_node.mesh.id, &med->mesh_node.mesh.set); - data_queue_image_remove(&med->mesh_node.texture.id, &med->mesh_node.texture.set); - data_queue_copied_model_lookup(&mparent->mesh_node.texture.id, &med->mesh_node.texture.id, &med->mesh_node.texture.set); + data_queue_image_remove(&med->mesh_node.texture.id, &med->mesh_node.texture.set); + data_queue_copied_model_lookup(&mparent->mesh_node.texture.id, &med->mesh_node.texture.id, &med->mesh_node.texture.set); - data_queue_copied_part_lookup(pc, &(mparent->mesh_node.orientation.look_to), &(med->mesh_node.orientation.look_to)); + data_queue_copied_part_lookup(pc, &(mparent->mesh_node.orientation.look_to), &(med->mesh_node.orientation.look_to)); + + break; + } - break; - } case EDJE_PART_TYPE_VECTOR: - { - Edje_Part_Description_Vector *ied = (Edje_Part_Description_Vector *) ed; - Edje_Part_Description_Vector *iparent = (Edje_Part_Description_Vector *) parent; - ied->vg.set = iparent->vg.set; - ied->vg.id = iparent->vg.id; - break; - } + { + Edje_Part_Description_Vector *ied = (Edje_Part_Description_Vector *)ed; + Edje_Part_Description_Vector *iparent = (Edje_Part_Description_Vector *)parent; + ied->vg.set = iparent->vg.set; + ied->vg.id = iparent->vg.id; + break; + } } } @@ -8768,7 +8963,7 @@ st_collections_group_parts_part_description_inherit(void) Causes the part to use another part content as the content of this part. Only work with PROXY part. @endproperty -*/ + */ static void st_collections_group_parts_part_description_source(void) { @@ -8787,7 +8982,7 @@ st_collections_group_parts_part_description_source(void) exit(-1); } - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; name = parse_str(0); @@ -8805,12 +9000,12 @@ _part_description_state_update(Edje_Part_Description_Common *ed) (!ep->default_desc->state.name && !strcmp(ed->state.name, "default") && ed->state.value == ep->default_desc->state.value)) { if (ep->type == EDJE_PART_TYPE_IMAGE) - _edje_part_description_image_remove((Edje_Part_Description_Image*) ed); + _edje_part_description_image_remove((Edje_Part_Description_Image *)ed); free(ed); ep->other.desc_count--; ep->other.desc = realloc(ep->other.desc, - sizeof (Edje_Part_Description_Common*) * ep->other.desc_count); + sizeof (Edje_Part_Description_Common *) * ep->other.desc_count); current_desc = ep->default_desc; } else if (ep->other.desc_count) @@ -8821,12 +9016,12 @@ _part_description_state_update(Edje_Part_Description_Common *ed) if (!strcmp(ed->state.name, ep->other.desc[i]->state.name) && ed->state.value == ep->other.desc[i]->state.value) { if (ep->type == EDJE_PART_TYPE_IMAGE) - _edje_part_description_image_remove((Edje_Part_Description_Image*) ed); + _edje_part_description_image_remove((Edje_Part_Description_Image *)ed); free(ed); ep->other.desc_count--; ep->other.desc = realloc(ep->other.desc, - sizeof (Edje_Part_Description_Common*) * ep->other.desc_count); + sizeof (Edje_Part_Description_Common *) * ep->other.desc_count); current_desc = ep->other.desc[i]; break; } @@ -8851,7 +9046,7 @@ _part_description_state_update(Edje_Part_Description_Common *ed) Defaults: "default" 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_state(void) { @@ -8865,7 +9060,7 @@ st_collections_group_parts_part_description_state(void) ep = current_part; s = parse_str(0); - if (!strcmp (s, "custom")) + if (!strcmp(s, "custom")) { ERR("parse error %s:%i. invalid state name: '%s'.", file_in, line - 1, s); @@ -8905,7 +9100,7 @@ st_collections_group_parts_part_description_state(void) Defaults: 1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_visible(void) { @@ -8913,9 +9108,9 @@ st_collections_group_parts_part_description_visible(void) if (current_part->type == EDJE_PART_TYPE_SPACER) { - ERR("parse error %s:%i. SPACER part can't have a visibility defined", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. SPACER part can't have a visibility defined", + file_in, line - 1); + exit(-1); } current_desc->visible = parse_bool(0); @@ -8928,9 +9123,9 @@ st_collections_group_parts_part_description_vis(void) if (current_part->type == EDJE_PART_TYPE_SPACER) { - ERR("parse error %s:%i. SPACER part can't have a visibility defined", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. SPACER part can't have a visibility defined", + file_in, line - 1); + exit(-1); } current_desc->visible = 1; @@ -8943,9 +9138,9 @@ st_collections_group_parts_part_description_hid(void) if (current_part->type == EDJE_PART_TYPE_SPACER) { - ERR("parse error %s:%i. SPACER part can't have a visibility defined", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. SPACER part can't have a visibility defined", + file_in, line - 1); + exit(-1); } current_desc->visible = 0; @@ -8963,15 +9158,15 @@ st_collections_group_parts_part_description_hid(void) Defaults: 0 @since 1.19 @endproperty -*/ + */ static void st_collections_group_parts_part_description_no_render(void) { if (current_part->type == EDJE_PART_TYPE_SPACER) { - ERR("parse error %s:%i. SPACER part can't be marked as no_render", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. SPACER part can't be marked as no_render", + file_in, line - 1); + exit(-1); } if (check_range_arg_count(0, 1) == 1) @@ -8998,17 +9193,17 @@ st_collections_group_parts_part_description_no_render(void) Defaults: NONE @since 1.7 @endproperty -*/ + */ static void st_collections_group_parts_part_description_limit(void) { check_arg_count(1); current_desc->limit = parse_enum(0, - "NONE", 0, - "WIDTH", 1, - "HEIGHT", 2, - "BOTH", 3); + "NONE", 0, + "WIDTH", 1, + "HEIGHT", 2, + "BOTH", 3); if (current_desc->limit) { @@ -9017,11 +9212,11 @@ st_collections_group_parts_part_description_limit(void) pc = eina_list_data_get(eina_list_last(edje_collections)); count = pc->limits.parts_count++; - pc->limits.parts = realloc(pc->limits.parts, - pc->limits.parts_count * sizeof (Edje_Part_Limit)); - data_queue_part_reallocated_lookup(pc, current_part->name, - (unsigned char**) &(pc->limits.parts), - (unsigned char*) &pc->limits.parts[count].part - (unsigned char*) pc->limits.parts); //fixme + pc->limits.parts = realloc(pc->limits.parts, + pc->limits.parts_count * sizeof (Edje_Part_Limit)); + data_queue_part_reallocated_lookup(pc, current_part->name, + (unsigned char **)&(pc->limits.parts), + (unsigned char *)&pc->limits.parts[count].part - (unsigned char *)pc->limits.parts); //fixme } } @@ -9042,7 +9237,7 @@ st_collections_group_parts_part_description_limit(void) Defaults: 0.5 0.5 (0.5) @endproperty -*/ + */ static void st_collections_group_parts_part_description_align(void) { @@ -9076,7 +9271,7 @@ st_collections_group_parts_part_description_align(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_fixed(void) { @@ -9102,32 +9297,35 @@ st_collections_group_parts_part_description_fixed(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_min(void) { check_min_arg_count(1); - if (is_param(1)) { - current_desc->min.w = parse_int_range(0, 0, 0x7fffffff); - current_desc->min.h = parse_int_range(1, 0, 0x7fffffff); - } else { - char *tmp; + if (is_param(1)) + { + current_desc->min.w = parse_int_range(0, 0, 0x7fffffff); + current_desc->min.h = parse_int_range(1, 0, 0x7fffffff); + } + else + { + char *tmp; - tmp = parse_str(0); - if ((current_part->type != EDJE_PART_TYPE_IMAGE && current_part->type != EDJE_PART_TYPE_GROUP) || - !tmp || strcmp(tmp, "SOURCE") != 0) - { - free(tmp); - ERR("parse error %s:%i. " - "Only IMAGE and GROUP part can have a min: SOURCE; defined", - file_in, line - 1); - exit(-1); - } - free(tmp); + tmp = parse_str(0); + if ((current_part->type != EDJE_PART_TYPE_IMAGE && current_part->type != EDJE_PART_TYPE_GROUP) || + !tmp || strcmp(tmp, "SOURCE") != 0) + { + free(tmp); + ERR("parse error %s:%i. " + "Only IMAGE and GROUP part can have a min: SOURCE; defined", + file_in, line - 1); + exit(-1); + } + free(tmp); - current_desc->min.limit = EINA_TRUE; - } + current_desc->min.limit = EINA_TRUE; + } } /** @@ -9143,7 +9341,7 @@ st_collections_group_parts_part_description_min(void) Defaults: 1.0 1.0 @since 1.2 @endproperty -*/ + */ static void st_collections_group_parts_part_description_minmul(void) { @@ -9168,32 +9366,35 @@ st_collections_group_parts_part_description_minmul(void) Defaults: -1 -1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_max(void) { check_min_arg_count(1); - if (is_param(1)) { - current_desc->max.w = parse_int_range(0, -1, 0x7fffffff); - current_desc->max.h = parse_int_range(1, -1, 0x7fffffff); - } else { - char *tmp; + if (is_param(1)) + { + current_desc->max.w = parse_int_range(0, -1, 0x7fffffff); + current_desc->max.h = parse_int_range(1, -1, 0x7fffffff); + } + else + { + char *tmp; - tmp = parse_str(0); - if (current_part->type != EDJE_PART_TYPE_IMAGE || - !tmp || strcmp(tmp, "SOURCE") != 0) - { - free(tmp); - ERR("parse error %s:%i. " - "Only IMAGE part can have a max: SOURCE; defined", - file_in, line - 1); - exit(-1); - } - free(tmp); + tmp = parse_str(0); + if (current_part->type != EDJE_PART_TYPE_IMAGE || + !tmp || strcmp(tmp, "SOURCE") != 0) + { + free(tmp); + ERR("parse error %s:%i. " + "Only IMAGE part can have a max: SOURCE; defined", + file_in, line - 1); + exit(-1); + } + free(tmp); - current_desc->max.limit = EINA_TRUE; - } + current_desc->max.limit = EINA_TRUE; + } } /** @@ -9207,7 +9408,7 @@ st_collections_group_parts_part_description_max(void) "min" and "max" property in description can be overridden by the size class at runtime. @endproperty -*/ + */ static void st_collections_group_parts_part_description_size_class(void) { @@ -9229,7 +9430,7 @@ st_collections_group_parts_part_description_size_class(void) Defaults: 0.0 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_step(void) { @@ -9254,7 +9455,7 @@ st_collections_group_parts_part_description_step(void) Defaults: 0.0 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_aspect(void) { @@ -9276,19 +9477,19 @@ st_collections_group_parts_part_description_aspect(void) Defaults: NONE @endproperty -*/ + */ static void st_collections_group_parts_part_description_aspect_preference(void) { check_arg_count(1); - current_desc->aspect.prefer = parse_enum(0, - "NONE", EDJE_ASPECT_PREFER_NONE, - "VERTICAL", EDJE_ASPECT_PREFER_VERTICAL, - "HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL, - "BOTH", EDJE_ASPECT_PREFER_BOTH, - "SOURCE", EDJE_ASPECT_PREFER_SOURCE, - NULL); + current_desc->aspect.prefer = parse_enum(0, + "NONE", EDJE_ASPECT_PREFER_NONE, + "VERTICAL", EDJE_ASPECT_PREFER_VERTICAL, + "HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL, + "BOTH", EDJE_ASPECT_PREFER_BOTH, + "SOURCE", EDJE_ASPECT_PREFER_SOURCE, + NULL); } /** @@ -9302,7 +9503,7 @@ st_collections_group_parts_part_description_aspect_preference(void) values can be modified by the "color", "color2" and "color3" properties set below. @endproperty -*/ + */ static void st_collections_group_parts_part_description_color_class(void) { @@ -9310,9 +9511,9 @@ st_collections_group_parts_part_description_color_class(void) if (current_part->type == EDJE_PART_TYPE_SPACER) { - ERR("parse error %s:%i. SPACER part can't have a color defined", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. SPACER part can't have a color defined", + file_in, line - 1); + exit(-1); } current_desc->color_class = parse_str(0); @@ -9340,15 +9541,15 @@ st_collections_group_parts_part_description_color_class(void) Defaults: 255 255 255 255 @endproperty -*/ + */ static void st_collections_group_parts_part_description_color(void) { if (current_part->type == EDJE_PART_TYPE_SPACER) { - ERR("parse error %s:%i. SPACER part can't have a color defined", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. SPACER part can't have a color defined", + file_in, line - 1); + exit(-1); } parse_color(0, &(current_desc->color.r)); @@ -9376,15 +9577,15 @@ st_collections_group_parts_part_description_color(void) Defaults: 0 0 0 255 @endproperty -*/ + */ static void st_collections_group_parts_part_description_color2(void) { if (current_part->type == EDJE_PART_TYPE_SPACER) { - ERR("parse error %s:%i. SPACER part can't have a color defined", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. SPACER part can't have a color defined", + file_in, line - 1); + exit(-1); } parse_color(0, &(current_desc->color2.r)); @@ -9412,7 +9613,7 @@ st_collections_group_parts_part_description_color2(void) Defaults: 0 0 0 128 @endproperty -*/ + */ static void st_collections_group_parts_part_description_color3(void) { @@ -9429,7 +9630,7 @@ st_collections_group_parts_part_description_color3(void) exit(-1); } - ed = (Edje_Part_Description_Text*)current_desc; + ed = (Edje_Part_Description_Text *)current_desc; parse_color(0, &(ed->text.color3.r)); } @@ -9447,7 +9648,7 @@ st_collections_group_parts_part_description_color3(void) happen at the end of the animation, when the new state is finally set (this is similar to the 'visible' flag). @endproperty -*/ + */ static void st_collections_group_parts_part_description_clip_to_id(void) { @@ -9456,13 +9657,13 @@ st_collections_group_parts_part_description_clip_to_id(void) check_arg_count(1); pc = eina_list_data_get(eina_list_last(edje_collections)); - { - char *name; + { + char *name; - name = parse_str(0); - data_queue_part_lookup(pc, name, &(current_desc->clip_to_id)); - free(name); - } + name = parse_str(0); + data_queue_part_lookup(pc, name, &(current_desc->clip_to_id)); + free(name); + } } /** @@ -9481,7 +9682,7 @@ st_collections_group_parts_part_description_clip_to_id(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_offset_scale(void) { @@ -9536,7 +9737,7 @@ st_collections_group_parts_part_description_offset_scale(void) @li rel1.relative: 0.0 0.0 @li rel2.relative: 1.0 1.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_rel1_relative(void) { @@ -9560,7 +9761,7 @@ st_collections_group_parts_part_description_rel1_relative(void) @li rel1.offset: 0 0 @li rel2.offset: -1 -1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_rel1_offset(void) { @@ -9582,7 +9783,7 @@ st_collections_group_parts_part_description_rel1_offset(void) container. Setting to "" will unset this value for inherited parts. @endproperty -*/ + */ static void st_collections_group_parts_part_description_rel1_to_set(const char *name) { @@ -9632,7 +9833,7 @@ st_collections_group_parts_part_description_rel1_to(void) part's container. Simply put affects the first parameter of "relative". Setting to "" will unset this value for inherited parts. @endproperty -*/ + */ static void st_collections_group_parts_part_description_rel_to_x(void) { @@ -9683,7 +9884,7 @@ st_collections_group_parts_part_description_rel1_to_x(void) part's container. Simply put, affects the second parameter of "relative". Setting to "" will unset this value for inherited parts. @endproperty -*/ + */ static void st_collections_group_parts_part_description_rel_to_y(void) { @@ -9873,7 +10074,7 @@ st_collections_group_parts_part_description_rel2_to_y(void) Moves an edge of the part to the position of the edge of given part or whole edje group. (GROUP means edje group that the part belong to) @endproperty -*/ + */ static void check_has_anchors(void) @@ -10084,7 +10285,7 @@ anchor_adjust_relative_horizontal(FLOAT_T *rel, FLOAT_T *relc, Edje_Part_Anchor_ The second parameter of position enumeration can be omitted. (Default value is BOTTOM, but TOP when the part is anchored to edje group) @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_top(void) { @@ -10119,7 +10320,7 @@ st_collections_group_parts_part_description_anchors_top(void) The second parameter of position enumeration can be omitted. (Default value is TOP, but BOTTOM when the part is anchored to edje group) @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_bottom(void) { @@ -10154,7 +10355,7 @@ st_collections_group_parts_part_description_anchors_bottom(void) The second parameter of position enumeration can be omitted. (Default value is RIGHT, but LEFT when the part is anchored to edje group) @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_left(void) { @@ -10189,7 +10390,7 @@ st_collections_group_parts_part_description_anchors_left(void) The second parameter of position enumeration can be omitted. (Default value is LEFT, but RIGHT when the part is anchored to edje group) @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_right(void) { @@ -10226,7 +10427,7 @@ st_collections_group_parts_part_description_anchors_right(void) The second parameter of position enumeration can be omitted. (Default value is VERTICAL_CENTER) @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_vertical_center(void) { @@ -10258,7 +10459,7 @@ st_collections_group_parts_part_description_anchors_vertical_center(void) The second parameter of position enumeration can be omitted. (Default value is HORIZONTAL_CENTER) @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_horizontal_center(void) { @@ -10290,7 +10491,7 @@ st_collections_group_parts_part_description_anchors_horizontal_center(void) The second parameter of direction enumeration can be omitted. (Default value is BOTH) @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_fill(void) { @@ -10311,36 +10512,38 @@ st_collections_group_parts_part_description_anchors_fill(void) switch (current_anchors->fill.base.fill) { case EDJE_PART_ANCHOR_FILL_BOTH: - if (strcmp("GROUP", name) || param_had_quote(0)) - { - data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x)); - data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x)); - data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y)); - data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y)); - } - current_desc->align.x = 0.5; - current_desc->align.y = 0.5; - current_desc->fixed.w = 0; - current_desc->fixed.h = 0; - break; + if (strcmp("GROUP", name) || param_had_quote(0)) + { + data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x)); + data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x)); + data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y)); + data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y)); + } + current_desc->align.x = 0.5; + current_desc->align.y = 0.5; + current_desc->fixed.w = 0; + current_desc->fixed.h = 0; + break; + case EDJE_PART_ANCHOR_FILL_HORIZONTAL: - if (strcmp("GROUP", name) || param_had_quote(0)) - { - data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x)); - data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x)); - } - current_desc->align.x = 0.5; - current_desc->fixed.w = 0; - break; + if (strcmp("GROUP", name) || param_had_quote(0)) + { + data_queue_part_lookup(pc, name, &(current_desc->rel1.id_x)); + data_queue_part_lookup(pc, name, &(current_desc->rel2.id_x)); + } + current_desc->align.x = 0.5; + current_desc->fixed.w = 0; + break; + case EDJE_PART_ANCHOR_FILL_VERTICAL: - if (strcmp("GROUP", name) || param_had_quote(0)) - { - data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y)); - data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y)); - } - current_desc->align.y = 0.5; - current_desc->fixed.h = 0; - break; + if (strcmp("GROUP", name) || param_had_quote(0)) + { + data_queue_part_lookup(pc, name, &(current_desc->rel1.id_y)); + data_queue_part_lookup(pc, name, &(current_desc->rel2.id_y)); + } + current_desc->align.y = 0.5; + current_desc->fixed.h = 0; + break; } free(name); @@ -10356,7 +10559,7 @@ st_collections_group_parts_part_description_anchors_fill(void) Affects the edge position a fixed number of pixels along each direction. Margins will scale its size with an edje scaling factor. @endproperty -*/ + */ static void st_collections_group_parts_part_description_anchors_margin(void) { @@ -10414,7 +10617,7 @@ free_anchors(void) In an animation, this is the first and last image displayed. It's required in any image part @endproperty -*/ + */ static void st_collections_group_parts_part_description_image_normal(void) { @@ -10435,7 +10638,7 @@ st_collections_group_parts_part_description_image_normal(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; { char *name; @@ -10462,7 +10665,7 @@ st_collections_group_parts_part_description_image_normal(void) the order they are listed, during the transition to the state they are declared in; the "normal" image is the final state. @endproperty -*/ + */ static void st_collections_group_parts_part_description_image_tween(void) { @@ -10477,7 +10680,7 @@ st_collections_group_parts_part_description_image_tween(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; { char *name; @@ -10486,7 +10689,7 @@ st_collections_group_parts_part_description_image_tween(void) iid = mem_alloc(SZ(Edje_Part_Image_Id)); ed->image.tweens_count++; ed->image.tweens = realloc(ed->image.tweens, - sizeof (Edje_Part_Image_Id*) * ed->image.tweens_count); + sizeof (Edje_Part_Image_Id *) * ed->image.tweens_count); ed->image.tweens[ed->image.tweens_count - 1] = iid; name = parse_str(0); data_queue_image_remove(&(iid->id), &(iid->set)); @@ -10508,7 +10711,7 @@ st_collections_group_parts_part_description_image_tween(void) Defaults: 0 0 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_image_border(void) { @@ -10523,7 +10726,7 @@ st_collections_group_parts_part_description_image_border(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; ed->image.border.l = parse_int_range(0, 0, 0x7fffffff); ed->image.border.r = parse_int_range(1, 0, 0x7fffffff); @@ -10546,7 +10749,7 @@ st_collections_group_parts_part_description_image_border(void) @li 1 or DEFAULT @li SOLID @endproperty -*/ + */ static void st_collections_group_parts_part_description_image_middle(void) { @@ -10561,15 +10764,15 @@ st_collections_group_parts_part_description_image_middle(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; - ed->image.border.no_fill = parse_enum(0, - "1", 0, - "DEFAULT", 0, - "0", 1, - "NONE", 1, - "SOLID", 2, - NULL); + ed->image.border.no_fill = parse_enum(0, + "1", 0, + "DEFAULT", 0, + "0", 1, + "NONE", 1, + "SOLID", 2, + NULL); } /** @@ -10592,7 +10795,7 @@ st_collections_group_parts_part_description_image_middle(void) Defaults: 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_image_border_scale_by(void) { @@ -10607,7 +10810,7 @@ st_collections_group_parts_part_description_image_border_scale_by(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; ed->image.border.scale_by = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0)); } @@ -10624,7 +10827,7 @@ st_collections_group_parts_part_description_image_border_scale_by(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_image_border_scale(void) { @@ -10639,9 +10842,9 @@ st_collections_group_parts_part_description_image_border_scale(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; - ed->image.border.scale = parse_bool(0); + ed->image.border.scale = parse_bool(0); } /** @@ -10660,7 +10863,7 @@ st_collections_group_parts_part_description_image_border_scale(void) Defaults: NONE @endproperty -*/ + */ static void st_collections_group_parts_part_description_image_scale_hint(void) { @@ -10675,14 +10878,14 @@ st_collections_group_parts_part_description_image_scale_hint(void) exit(-1); } - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; - ed->image.scale_hint = parse_enum(0, - "NONE", EVAS_IMAGE_SCALE_HINT_NONE, - "DYNAMIC", EVAS_IMAGE_SCALE_HINT_DYNAMIC, - "STATIC", EVAS_IMAGE_SCALE_HINT_STATIC, - "0", EVAS_IMAGE_SCALE_HINT_NONE, - NULL); + ed->image.scale_hint = parse_enum(0, + "NONE", EVAS_IMAGE_SCALE_HINT_NONE, + "DYNAMIC", EVAS_IMAGE_SCALE_HINT_DYNAMIC, + "STATIC", EVAS_IMAGE_SCALE_HINT_STATIC, + "0", EVAS_IMAGE_SCALE_HINT_NONE, + NULL); } /** @edcsubsection{collections_group_parts_description_fill, @@ -10724,7 +10927,7 @@ st_collections_group_parts_part_description_image_scale_hint(void) Defaults: 1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_fill_smooth(void) { @@ -10735,30 +10938,32 @@ st_collections_group_parts_part_description_fill_smooth(void) switch (current_part->type) { case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *ed; + { + Edje_Part_Description_Image *ed; - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; + + fill = &ed->image.fill; + break; + } - fill = &ed->image.fill; - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ed; + { + Edje_Part_Description_Proxy *ed; - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; + + fill = &ed->proxy.fill; + break; + } - fill = &ed->proxy.fill; - break; - } default: - { - ERR("parse error %s:%i. " - "image and proxy attributes in non-IMAGE, non-PROXY `%s` part (%i).", - file_in, line - 1, current_part->name, current_part->type); - exit(-1); - } + { + ERR("parse error %s:%i. " + "image and proxy attributes in non-IMAGE, non-PROXY `%s` part (%i).", + file_in, line - 1, current_part->name, current_part->type); + exit(-1); + } } fill->smooth = parse_bool(0); @@ -10784,7 +10989,7 @@ st_collections_group_parts_part_description_fill_smooth(void) Defaults: SCALE @endproperty -*/ + */ static void st_collections_group_parts_part_description_fill_type(void) { @@ -10795,30 +11000,32 @@ st_collections_group_parts_part_description_fill_type(void) switch (current_part->type) { case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *ed; + { + Edje_Part_Description_Image *ed; - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; + + fill = &ed->image.fill; + break; + } - fill = &ed->image.fill; - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ed; + { + Edje_Part_Description_Proxy *ed; - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; + + fill = &ed->proxy.fill; + break; + } - fill = &ed->proxy.fill; - break; - } default: - { - ERR("parse error %s:%i. " - "image and proxy attributes in non-IMAGE, non-PROXY part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. " + "image and proxy attributes in non-IMAGE, non-PROXY part.", + file_in, line - 1); + exit(-1); + } } fill->type = parse_enum(0, @@ -10862,7 +11069,7 @@ st_collections_group_parts_part_description_fill_type(void) Defaults: 0.0 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_fill_origin_relative(void) { @@ -10873,30 +11080,32 @@ st_collections_group_parts_part_description_fill_origin_relative(void) switch (current_part->type) { case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *ed; + { + Edje_Part_Description_Image *ed; - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; + + fill = &ed->image.fill; + break; + } - fill = &ed->image.fill; - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ed; + { + Edje_Part_Description_Proxy *ed; - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; + + fill = &ed->proxy.fill; + break; + } - fill = &ed->proxy.fill; - break; - } default: - { - ERR("parse error %s:%i. " - "image and proxy attributes in non-IMAGE, non-PROXY part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. " + "image and proxy attributes in non-IMAGE, non-PROXY part.", + file_in, line - 1); + exit(-1); + } } fill->pos_rel_x = FROM_DOUBLE(parse_float_range(0, -999999999.0, 999999999.0)); @@ -10914,7 +11123,7 @@ st_collections_group_parts_part_description_fill_origin_relative(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_fill_origin_offset(void) { @@ -10925,30 +11134,32 @@ st_collections_group_parts_part_description_fill_origin_offset(void) switch (current_part->type) { case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *ed; + { + Edje_Part_Description_Image *ed; - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; + + fill = &ed->image.fill; + break; + } - fill = &ed->image.fill; - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ed; + { + Edje_Part_Description_Proxy *ed; - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; + + fill = &ed->proxy.fill; + break; + } - fill = &ed->proxy.fill; - break; - } default: - { - ERR("parse error %s:%i. " - "image and proxy attributes in non-IMAGE, non-PROXY part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. " + "image and proxy attributes in non-IMAGE, non-PROXY part.", + file_in, line - 1); + exit(-1); + } } fill->pos_abs_x = parse_int(0); @@ -10991,7 +11202,7 @@ st_collections_group_parts_part_description_fill_origin_offset(void) Defaults: 1.0 1.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_fill_size_relative(void) { @@ -11002,30 +11213,32 @@ st_collections_group_parts_part_description_fill_size_relative(void) switch (current_part->type) { case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *ed; + { + Edje_Part_Description_Image *ed; - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; + + fill = &ed->image.fill; + break; + } - fill = &ed->image.fill; - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ed; + { + Edje_Part_Description_Proxy *ed; - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; + + fill = &ed->proxy.fill; + break; + } - fill = &ed->proxy.fill; - break; - } default: - { - ERR("parse error %s:%i. " - "image and proxy attributes in non-IMAGE, non-PROXY part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. " + "image and proxy attributes in non-IMAGE, non-PROXY part.", + file_in, line - 1); + exit(-1); + } } fill->rel_x = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0)); @@ -11043,7 +11256,7 @@ st_collections_group_parts_part_description_fill_size_relative(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_fill_size_offset(void) { @@ -11054,37 +11267,38 @@ st_collections_group_parts_part_description_fill_size_offset(void) switch (current_part->type) { case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *ed; + { + Edje_Part_Description_Image *ed; - ed = (Edje_Part_Description_Image*) current_desc; + ed = (Edje_Part_Description_Image *)current_desc; + + fill = &ed->image.fill; + break; + } - fill = &ed->image.fill; - break; - } case EDJE_PART_TYPE_PROXY: - { - Edje_Part_Description_Proxy *ed; + { + Edje_Part_Description_Proxy *ed; - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; + + fill = &ed->proxy.fill; + break; + } - fill = &ed->proxy.fill; - break; - } default: - { - ERR("parse error %s:%i. " - "image and proxy attributes in non-IMAGE, non-PROXY part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. " + "image and proxy attributes in non-IMAGE, non-PROXY part.", + file_in, line - 1); + exit(-1); + } } fill->abs_x = parse_int(0); fill->abs_y = parse_int(1); } - /** @edcsubsection{collections_group_parts_description_text, * Group.Parts.Part.Description.Text} */ @@ -11126,7 +11340,7 @@ st_collections_group_parts_part_description_fill_size_offset(void) Sets the default content of a text part, normally the application is the one changing its value. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_text(void) { @@ -11142,21 +11356,21 @@ st_collections_group_parts_part_description_text_text(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; - for (i = 0; ;i++) + for (i = 0;; i++) { - char *s; + char *s; - if (!is_param(i)) break; - s = parse_str(i); - if (!str) str = s; - else - { - str = realloc(str, strlen(str) + strlen(s) + 1); - strcat(str, s); - free(s); - } + if (!is_param(i)) break; + s = parse_str(i); + if (!str) str = s; + else + { + str = realloc(str, strlen(str) + strlen(s) + 1); + strcat(str, s); + free(s); + } } ed->text.text.str = str; } @@ -11172,7 +11386,7 @@ st_collections_group_parts_part_description_text_text(void) This is the domain name of the .mo file which has to be checked for translation. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_domain(void) { @@ -11182,11 +11396,11 @@ st_collections_group_parts_part_description_text_domain(void) (current_part->type != EDJE_PART_TYPE_TEXTBLOCK)) { ERR("parse error %s:%i. text attributes in non-TEXT part.", - file_in, line - 1); + file_in, line - 1); exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.domain = parse_str(0); } @@ -11202,7 +11416,7 @@ st_collections_group_parts_part_description_text_domain(void) Similar to color_class, this is the name used by the application to alter the font family and size at runtime. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_text_class(void) { @@ -11218,7 +11432,7 @@ st_collections_group_parts_part_description_text_text_class(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.text_class = parse_str(0); } @@ -11234,7 +11448,7 @@ st_collections_group_parts_part_description_text_text_class(void) This sets the font family to one of the aliases set up in the "fonts" block. Can be overridden by the application. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_font(void) { @@ -11250,7 +11464,7 @@ st_collections_group_parts_part_description_text_font(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.font.str = parse_str(0); } @@ -11266,7 +11480,7 @@ st_collections_group_parts_part_description_text_font(void) Causes the part to use the default style and tags defined in the "style" block with the specified name. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_style(void) { @@ -11282,7 +11496,7 @@ st_collections_group_parts_part_description_text_style(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.style.str = parse_str(0); } @@ -11299,7 +11513,7 @@ st_collections_group_parts_part_description_text_style(void) to replace every character to hide the details of the entry. Normally you would use a "*", but you can use anything you like. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_repch(void) { @@ -11315,7 +11529,7 @@ st_collections_group_parts_part_description_text_repch(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.repch.str = parse_str(0); } @@ -11333,7 +11547,7 @@ st_collections_group_parts_part_description_text_repch(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_size(void) { @@ -11349,7 +11563,7 @@ st_collections_group_parts_part_description_text_size(void) exit(-1); } - ed = (Edje_Part_Description_Text*)current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.size = parse_int_range(0, 0, 255); } @@ -11368,7 +11582,7 @@ st_collections_group_parts_part_description_text_size(void) Defaults: 0 0 @since 1.1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_size_range(void) { @@ -11384,7 +11598,7 @@ st_collections_group_parts_part_description_text_size_range(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.size_range_min = parse_int_range(0, 0, 255); ed->text.size_range_max = parse_int_range(1, 0, 255); @@ -11409,7 +11623,7 @@ st_collections_group_parts_part_description_text_size_range(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_fit(void) { @@ -11425,7 +11639,7 @@ st_collections_group_parts_part_description_text_fit(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.fit_x = parse_bool(0); ed->text.fit_y = parse_bool(1); @@ -11444,7 +11658,7 @@ st_collections_group_parts_part_description_text_fit(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_min(void) { @@ -11460,7 +11674,7 @@ st_collections_group_parts_part_description_text_min(void) exit(-1); } - ed = (Edje_Part_Description_Text*)current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.min_x = parse_bool(0); ed->text.min_y = parse_bool(1); @@ -11482,7 +11696,7 @@ st_collections_group_parts_part_description_text_min(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_max(void) { @@ -11498,7 +11712,7 @@ st_collections_group_parts_part_description_text_max(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.max_x = parse_bool(0); ed->text.max_y = parse_bool(1); @@ -11521,7 +11735,7 @@ st_collections_group_parts_part_description_text_max(void) Defaults: 0.5 0.5 @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_align(void) { @@ -11537,7 +11751,7 @@ st_collections_group_parts_part_description_text_align(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0)); ed->text.align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0)); @@ -11554,7 +11768,7 @@ st_collections_group_parts_part_description_text_align(void) Causes the part to use the text properties (like font and size) of another part and update them as they change. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_source(void) { @@ -11573,7 +11787,7 @@ st_collections_group_parts_part_description_text_source(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; { char *name; @@ -11595,7 +11809,7 @@ st_collections_group_parts_part_description_text_source(void) Causes the part to display the text content of another part and update them as they change. @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_text_source(void) { @@ -11614,7 +11828,7 @@ st_collections_group_parts_part_description_text_text_source(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; { char *name; @@ -11640,7 +11854,7 @@ st_collections_group_parts_part_description_text_text_source(void) Defaults: 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_text_ellipsis(void) { @@ -11656,7 +11870,7 @@ st_collections_group_parts_part_description_text_ellipsis(void) exit(-1); } - ed = (Edje_Part_Description_Text*) current_desc; + ed = (Edje_Part_Description_Text *)current_desc; ed->text.ellipsis = parse_float_range(0, -1.0, 1.0); } @@ -11710,8 +11924,9 @@ st_collections_group_parts_part_description_text_ellipsis(void) Defaults: "horizontal" @endproperty -*/ -static void st_collections_group_parts_part_description_box_layout(void) + */ +static void +st_collections_group_parts_part_description_box_layout(void) { Edje_Part_Description_Box *ed; @@ -11724,7 +11939,7 @@ static void st_collections_group_parts_part_description_box_layout(void) exit(-1); } - ed = (Edje_Part_Description_Box*) current_desc; + ed = (Edje_Part_Description_Box *)current_desc; ed->box.layout = parse_str(0); if (is_param(1)) @@ -11742,8 +11957,9 @@ static void st_collections_group_parts_part_description_box_layout(void) Defaults: 0.5 0.5 @endproperty -*/ -static void st_collections_group_parts_part_description_box_align(void) + */ +static void +st_collections_group_parts_part_description_box_align(void) { Edje_Part_Description_Box *ed; @@ -11756,7 +11972,7 @@ static void st_collections_group_parts_part_description_box_align(void) exit(-1); } - ed = (Edje_Part_Description_Box*) current_desc; + ed = (Edje_Part_Description_Box *)current_desc; ed->box.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0)); ed->box.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0)); @@ -11773,8 +11989,9 @@ static void st_collections_group_parts_part_description_box_align(void) Defaults: 0 0 @endproperty -*/ -static void st_collections_group_parts_part_description_box_padding(void) + */ +static void +st_collections_group_parts_part_description_box_padding(void) { Edje_Part_Description_Box *ed; @@ -11787,7 +12004,7 @@ static void st_collections_group_parts_part_description_box_padding(void) exit(-1); } - ed = (Edje_Part_Description_Box*) current_desc; + ed = (Edje_Part_Description_Box *)current_desc; ed->box.padding.x = parse_int_range(0, 0, 0x7fffffff); ed->box.padding.y = parse_int_range(1, 0, 0x7fffffff); @@ -11805,7 +12022,7 @@ static void st_collections_group_parts_part_description_box_padding(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_box_min(void) { @@ -11820,13 +12037,12 @@ st_collections_group_parts_part_description_box_min(void) exit(-1); } - ed = (Edje_Part_Description_Box*) current_desc; + ed = (Edje_Part_Description_Box *)current_desc; ed->box.min.h = parse_bool(0); ed->box.min.v = parse_bool(1); } - /** @edcsubsection{collections_group_parts_description_table, * Group.Parts.Part.Description.Table} */ @@ -11866,8 +12082,9 @@ st_collections_group_parts_part_description_box_min(void) Defaults: NONE @endproperty -*/ -static void st_collections_group_parts_part_description_table_homogeneous(void) + */ +static void +st_collections_group_parts_part_description_table_homogeneous(void) { Edje_Part_Description_Table *ed; @@ -11880,13 +12097,13 @@ static void st_collections_group_parts_part_description_table_homogeneous(void) exit(-1); } - ed = (Edje_Part_Description_Table*) current_desc; + ed = (Edje_Part_Description_Table *)current_desc; ed->table.homogeneous = parse_enum(0, - "NONE", EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE, - "TABLE", EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE, - "ITEM", EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM, - NULL); + "NONE", EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE, + "TABLE", EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE, + "ITEM", EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM, + NULL); } /** @@ -11900,8 +12117,9 @@ static void st_collections_group_parts_part_description_table_homogeneous(void) Defaults: 0.5 0.5 @endproperty -*/ -static void st_collections_group_parts_part_description_table_align(void) + */ +static void +st_collections_group_parts_part_description_table_align(void) { Edje_Part_Description_Table *ed; @@ -11914,7 +12132,7 @@ static void st_collections_group_parts_part_description_table_align(void) exit(-1); } - ed = (Edje_Part_Description_Table*) current_desc; + ed = (Edje_Part_Description_Table *)current_desc; ed->table.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0)); ed->table.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0)); @@ -11931,8 +12149,9 @@ static void st_collections_group_parts_part_description_table_align(void) Defaults: 0 0 @endproperty -*/ -static void st_collections_group_parts_part_description_table_padding(void) + */ +static void +st_collections_group_parts_part_description_table_padding(void) { Edje_Part_Description_Table *ed; @@ -11945,7 +12164,7 @@ static void st_collections_group_parts_part_description_table_padding(void) exit(-1); } - ed = (Edje_Part_Description_Table*) current_desc; + ed = (Edje_Part_Description_Table *)current_desc; ed->table.padding.x = parse_int_range(0, 0, 0x7fffffff); ed->table.padding.y = parse_int_range(1, 0, 0x7fffffff); @@ -11963,7 +12182,7 @@ static void st_collections_group_parts_part_description_table_padding(void) Defaults: 0 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_table_min(void) { @@ -11978,7 +12197,7 @@ st_collections_group_parts_part_description_table_min(void) exit(-1); } - ed = (Edje_Part_Description_Table*) current_desc; + ed = (Edje_Part_Description_Table *)current_desc; ed->table.min.h = parse_bool(0); ed->table.min.v = parse_bool(1); @@ -12033,7 +12252,7 @@ st_collections_group_parts_part_description_table_min(void) Defaults: 1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_proxy_source_clip(void) { @@ -12048,7 +12267,7 @@ st_collections_group_parts_part_description_proxy_source_clip(void) exit(-1); } - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; ed->proxy.source_clip = parse_bool(0); } @@ -12066,7 +12285,7 @@ st_collections_group_parts_part_description_proxy_source_visible(void) exit(-1); } - ed = (Edje_Part_Description_Proxy*) current_desc; + ed = (Edje_Part_Description_Proxy *)current_desc; ed->proxy.source_visible = parse_bool(0); } @@ -12103,7 +12322,7 @@ st_collections_group_parts_part_description_proxy_source_visible(void) @effect Sets the point of CAMERA, LIGHT or MESH_NODE centre. @endproperty -*/ + */ static void st_collections_group_parts_part_description_position_point(void) { @@ -12112,44 +12331,47 @@ st_collections_group_parts_part_description_position_point(void) switch (current_part->type) { case EDJE_PART_TYPE_CAMERA: - { - Edje_Part_Description_Camera *ed; + { + Edje_Part_Description_Camera *ed; - ed = (Edje_Part_Description_Camera*) current_desc; + ed = (Edje_Part_Description_Camera *)current_desc; + + ed->camera.position.point.x = FROM_DOUBLE(parse_float(0)); + ed->camera.position.point.y = FROM_DOUBLE(parse_float(1)); + ed->camera.position.point.z = FROM_DOUBLE(parse_float(2)); + break; + } - ed->camera.position.point.x = FROM_DOUBLE(parse_float(0)); - ed->camera.position.point.y = FROM_DOUBLE(parse_float(1)); - ed->camera.position.point.z = FROM_DOUBLE(parse_float(2)); - break; - } case EDJE_PART_TYPE_LIGHT: - { - Edje_Part_Description_Light *ed; + { + Edje_Part_Description_Light *ed; - ed = (Edje_Part_Description_Light*) current_desc; + ed = (Edje_Part_Description_Light *)current_desc; + + ed->light.position.point.x = FROM_DOUBLE(parse_float(0)); + ed->light.position.point.y = FROM_DOUBLE(parse_float(1)); + ed->light.position.point.z = FROM_DOUBLE(parse_float(2)); + break; + } - ed->light.position.point.x = FROM_DOUBLE(parse_float(0)); - ed->light.position.point.y = FROM_DOUBLE(parse_float(1)); - ed->light.position.point.z = FROM_DOUBLE(parse_float(2)); - break; - } case EDJE_PART_TYPE_MESH_NODE: - { - Edje_Part_Description_Mesh_Node *ed; + { + Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; + + ed->mesh_node.position.point.x = FROM_DOUBLE(parse_float(0)); + ed->mesh_node.position.point.y = FROM_DOUBLE(parse_float(1)); + ed->mesh_node.position.point.z = FROM_DOUBLE(parse_float(2)); + break; + } - ed->mesh_node.position.point.x = FROM_DOUBLE(parse_float(0)); - ed->mesh_node.position.point.y = FROM_DOUBLE(parse_float(1)); - ed->mesh_node.position.point.z = FROM_DOUBLE(parse_float(2)); - break; - } default: - { - ERR("parse error %s:%i. camera and light attributes in non-CAMERA, non-LIGHT, and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. camera and light attributes in non-CAMERA, non-LIGHT, and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12167,7 +12389,7 @@ st_collections_group_parts_part_description_position_point(void) @li PARENT @li WORLD @endproperty -*/ + */ static void st_collections_group_parts_part_description_position_space(void) { @@ -12176,46 +12398,49 @@ st_collections_group_parts_part_description_position_space(void) check_arg_count(1); space = parse_enum(0, - "LOCAL", EVAS_CANVAS3D_SPACE_LOCAL, - "PARENT", EVAS_CANVAS3D_SPACE_PARENT, - "WORLD", EVAS_CANVAS3D_SPACE_WORLD, - NULL); + "LOCAL", EVAS_CANVAS3D_SPACE_LOCAL, + "PARENT", EVAS_CANVAS3D_SPACE_PARENT, + "WORLD", EVAS_CANVAS3D_SPACE_WORLD, + NULL); switch (current_part->type) { case EDJE_PART_TYPE_CAMERA: - { - Edje_Part_Description_Camera *ed; + { + Edje_Part_Description_Camera *ed; - ed = (Edje_Part_Description_Camera*) current_desc; + ed = (Edje_Part_Description_Camera *)current_desc; + + ed->camera.position.space = space; + break; + } - ed->camera.position.space = space; - break; - } case EDJE_PART_TYPE_LIGHT: - { - Edje_Part_Description_Light *ed; + { + Edje_Part_Description_Light *ed; - ed = (Edje_Part_Description_Light*) current_desc; + ed = (Edje_Part_Description_Light *)current_desc; + + ed->light.position.space = space; + break; + } - ed->light.position.space = space; - break; - } case EDJE_PART_TYPE_MESH_NODE: - { - Edje_Part_Description_Mesh_Node *ed; + { + Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; + + ed->mesh_node.position.space = space; + break; + } - ed->mesh_node.position.space = space; - break; - } default: - { - ERR("parse error %s:%i. camera and light attributes in non-CAMERA, non-LIGHT, and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. camera and light attributes in non-CAMERA, non-LIGHT, and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12249,7 +12474,7 @@ st_collections_group_parts_part_description_position_space(void) @effect Specifies the basic attributes of the camera. @endproperty -*/ + */ static void st_collections_group_parts_part_description_camera_properties(void) { @@ -12259,7 +12484,7 @@ st_collections_group_parts_part_description_camera_properties(void) { Edje_Part_Description_Camera *ed; - ed = (Edje_Part_Description_Camera*) current_desc; + ed = (Edje_Part_Description_Camera *)current_desc; ed->camera.camera.fovy = FROM_DOUBLE(parse_float(0)); ed->camera.camera.aspect = FROM_DOUBLE(parse_float(1)); @@ -12270,7 +12495,7 @@ st_collections_group_parts_part_description_camera_properties(void) { Edje_Part_Description_Light *ed; - ed = (Edje_Part_Description_Light*) current_desc; + ed = (Edje_Part_Description_Light *)current_desc; ed->light.light.fovy = FROM_DOUBLE(parse_float(0)); ed->light.light.aspect = FROM_DOUBLE(parse_float(1)); @@ -12333,7 +12558,7 @@ st_collections_group_parts_part_description_camera_properties(void) Defaults: 50 50 50 255 @endproperty -*/ + */ static void st_collections_group_parts_part_description_properties_ambient(void) { @@ -12342,29 +12567,31 @@ st_collections_group_parts_part_description_properties_ambient(void) switch (current_part->type) { case EDJE_PART_TYPE_LIGHT: - { - Edje_Part_Description_Light *ed; + { + Edje_Part_Description_Light *ed; - ed = (Edje_Part_Description_Light*) current_desc; + ed = (Edje_Part_Description_Light *)current_desc; + + parse_color(0, &(ed->light.properties.ambient)); + break; + } - parse_color(0, &(ed->light.properties.ambient)); - break; - } case EDJE_PART_TYPE_MESH_NODE: - { - Edje_Part_Description_Mesh_Node *ed; + { + Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; + + parse_color(0, &(ed->mesh_node.properties.ambient)); + break; + } - parse_color(0, &(ed->mesh_node.properties.ambient)); - break; - } default: - { - ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12388,7 +12615,7 @@ st_collections_group_parts_part_description_properties_ambient(void) Defaults: 255 255 255 255 @endproperty -*/ + */ static void st_collections_group_parts_part_description_properties_diffuse(void) { @@ -12397,29 +12624,31 @@ st_collections_group_parts_part_description_properties_diffuse(void) switch (current_part->type) { case EDJE_PART_TYPE_LIGHT: - { - Edje_Part_Description_Light *ed; + { + Edje_Part_Description_Light *ed; - ed = (Edje_Part_Description_Light*) current_desc; + ed = (Edje_Part_Description_Light *)current_desc; + + parse_color(0, &(ed->light.properties.diffuse)); + break; + } - parse_color(0, &(ed->light.properties.diffuse)); - break; - } case EDJE_PART_TYPE_MESH_NODE: - { - Edje_Part_Description_Mesh_Node *ed; + { + Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; + + parse_color(0, &(ed->mesh_node.properties.diffuse)); + break; + } - parse_color(0, &(ed->mesh_node.properties.diffuse)); - break; - } default: - { - ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12443,7 +12672,7 @@ st_collections_group_parts_part_description_properties_diffuse(void) Defaults: 255 255 255 255 @endproperty -*/ + */ static void st_collections_group_parts_part_description_properties_specular(void) { @@ -12452,29 +12681,31 @@ st_collections_group_parts_part_description_properties_specular(void) switch (current_part->type) { case EDJE_PART_TYPE_LIGHT: - { - Edje_Part_Description_Light *ed; + { + Edje_Part_Description_Light *ed; - ed = (Edje_Part_Description_Light*) current_desc; + ed = (Edje_Part_Description_Light *)current_desc; + + parse_color(0, &(ed->light.properties.specular)); + break; + } - parse_color(0, &(ed->light.properties.specular)); - break; - } case EDJE_PART_TYPE_MESH_NODE: - { - Edje_Part_Description_Mesh_Node *ed; + { + Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; + + parse_color(0, &(ed->mesh_node.properties.specular)); + break; + } - parse_color(0, &(ed->mesh_node.properties.specular)); - break; - } default: - { - ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12492,7 +12723,7 @@ st_collections_group_parts_part_description_properties_specular(void) @li EMISSION @li NORMAL @endproperty -*/ + */ static void st_collections_group_parts_part_description_properties_material(void) { @@ -12501,18 +12732,18 @@ st_collections_group_parts_part_description_properties_material(void) check_arg_count(1); material_attrib = parse_enum(0, - "AMBIENT", EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, - "DIFFUSE", EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, - "SPECULAR", EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, - "EMISSION", EVAS_CANVAS3D_MATERIAL_ATTRIB_EMISSION, - "NORMAL", EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, - NULL); + "AMBIENT", EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, + "DIFFUSE", EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, + "SPECULAR", EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, + "EMISSION", EVAS_CANVAS3D_MATERIAL_ATTRIB_EMISSION, + "NORMAL", EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.properties.material_attrib = material_attrib; } @@ -12533,7 +12764,7 @@ st_collections_group_parts_part_description_properties_material(void) @effect Sets the material attribute enable flag of the given material. @endproperty -*/ + */ static void st_collections_group_parts_part_description_properties_normal(void) { @@ -12543,7 +12774,7 @@ st_collections_group_parts_part_description_properties_normal(void) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.properties.normal = parse_bool(0); } @@ -12564,7 +12795,7 @@ st_collections_group_parts_part_description_properties_normal(void) @effect Sets the shininess of the given material. @endproperty -*/ + */ static void st_collections_group_parts_part_description_properties_shininess(void) { @@ -12574,7 +12805,7 @@ st_collections_group_parts_part_description_properties_shininess(void) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.properties.shininess = FROM_DOUBLE(parse_float(0)); } @@ -12601,7 +12832,7 @@ st_collections_group_parts_part_description_properties_shininess(void) @li MAP @li RENDER @endproperty -*/ + */ static void st_collections_group_parts_part_description_properties_shade(void) @@ -12611,19 +12842,19 @@ st_collections_group_parts_part_description_properties_shade(void) check_arg_count(1); shade = parse_enum(0, - "VERTEX_COLOR", EVAS_CANVAS3D_SHADER_MODE_VERTEX_COLOR, - "PARENT", EVAS_CANVAS3D_SHADER_MODE_DIFFUSE, - "WORLD", EVAS_CANVAS3D_SHADER_MODE_FLAT, - "PHONG", EVAS_CANVAS3D_SHADER_MODE_PHONG, - "NORMAL_MAP", EVAS_CANVAS3D_SHADER_MODE_NORMAL_MAP, - "RENDER", EVAS_CANVAS3D_SHADER_MODE_SHADOW_MAP_RENDER, - NULL); + "VERTEX_COLOR", EVAS_CANVAS3D_SHADER_MODE_VERTEX_COLOR, + "PARENT", EVAS_CANVAS3D_SHADER_MODE_DIFFUSE, + "WORLD", EVAS_CANVAS3D_SHADER_MODE_FLAT, + "PHONG", EVAS_CANVAS3D_SHADER_MODE_PHONG, + "NORMAL_MAP", EVAS_CANVAS3D_SHADER_MODE_NORMAL_MAP, + "RENDER", EVAS_CANVAS3D_SHADER_MODE_SHADOW_MAP_RENDER, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.properties.shade = shade; } @@ -12671,7 +12902,7 @@ st_collections_group_parts_part_description_properties_shade(void) Indicates a target point for CAMERA and MESH_NODE or for LIGHT to see or to illuminate. @endproperty -*/ + */ static void st_collections_group_parts_part_description_orientation_look1(void) { @@ -12680,26 +12911,29 @@ st_collections_group_parts_part_description_orientation_look1(void) switch (current_part->type) { case EDJE_PART_TYPE_CAMERA: - { - SET_LOOK1(Camera, camera); - break; - } + { + SET_LOOK1(Camera, camera); + break; + } + case EDJE_PART_TYPE_LIGHT: - { - SET_LOOK1(Light, light); - break; - } + { + SET_LOOK1(Light, light); + break; + } + case EDJE_PART_TYPE_MESH_NODE: - { - SET_LOOK1(Mesh_Node, mesh_node); - break; - } + { + SET_LOOK1(Mesh_Node, mesh_node); + break; + } + default: - { - ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12712,7 +12946,7 @@ st_collections_group_parts_part_description_orientation_look1(void) @effect Specifies the angle at which the target point will be caught. @endproperty -*/ + */ static void st_collections_group_parts_part_description_orientation_look2(void) { @@ -12721,26 +12955,29 @@ st_collections_group_parts_part_description_orientation_look2(void) switch (current_part->type) { case EDJE_PART_TYPE_CAMERA: - { - SET_LOOK2(Camera, camera); - break; - } + { + SET_LOOK2(Camera, camera); + break; + } + case EDJE_PART_TYPE_LIGHT: - { - SET_LOOK2(Light, light); - break; - } + { + SET_LOOK2(Light, light); + break; + } + case EDJE_PART_TYPE_MESH_NODE: - { - SET_LOOK2(Mesh_Node, mesh_node); - break; - } + { + SET_LOOK2(Mesh_Node, mesh_node); + break; + } + default: - { - ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12754,7 +12991,7 @@ st_collections_group_parts_part_description_orientation_look2(void) Indicates another part to make target of CAMERA, LIGHT or MESH_NODE or LIGHT. @endproperty -*/ + */ static void st_collections_group_parts_part_description_orientation_look_to(void) { @@ -12767,26 +13004,29 @@ st_collections_group_parts_part_description_orientation_look_to(void) switch (current_part->type) { case EDJE_PART_TYPE_CAMERA: - { - SET_LOOK_TO(pc, Camera, camera); - break; - } + { + SET_LOOK_TO(pc, Camera, camera); + break; + } + case EDJE_PART_TYPE_LIGHT: - { - SET_LOOK_TO(pc, Light, light); - break; - } + { + SET_LOOK_TO(pc, Light, light); + break; + } + case EDJE_PART_TYPE_MESH_NODE: - { - SET_LOOK_TO(pc, Mesh_Node, mesh_node); - break; - } + { + SET_LOOK_TO(pc, Mesh_Node, mesh_node); + break; + } + default: - { - ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.", - file_in, line - 1); - exit(-1); - } + { + ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.", + file_in, line - 1); + exit(-1); + } } } @@ -12799,7 +13039,7 @@ st_collections_group_parts_part_description_orientation_look_to(void) @effect Specifies the angle and indicates what proportions the MESH_NODE rotates in. @endproperty -*/ + */ static void st_collections_group_parts_part_description_orientation_angle_axis(void) { @@ -12825,7 +13065,6 @@ st_collections_group_parts_part_description_orientation_angle_axis(void) } } - /** @page edcref @property @@ -12835,7 +13074,7 @@ st_collections_group_parts_part_description_orientation_angle_axis(void) @effect Specifies the axis and arccosinus of half angle to rotate on the MESH_NODE, CAMERA or LIGHT. @endproperty -*/ + */ static void st_collections_group_parts_part_description_orientation_quaternion(void) { @@ -12870,7 +13109,7 @@ st_collections_group_parts_part_description_orientation_quaternion(void) @effect Specifies the scale parameter for MESH_NODE. @endproperty -*/ + */ static void st_collections_group_parts_part_description_scale(void) { @@ -12878,7 +13117,7 @@ st_collections_group_parts_part_description_scale(void) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.scale_3d.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1000.0)); ed->mesh_node.scale_3d.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1000.0)); @@ -12920,17 +13159,16 @@ st_collections_group_parts_part_description_scale(void) A texture block is used to set texture, this texture will be imposed on MESH_NODE model. @endblock -*/ + */ static void ob_collections_group_parts_part_description_texture(void) { Edje_Part_Description_Mesh_Node *ed; - if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.texture.need_texture = EINA_TRUE; } @@ -12943,25 +13181,25 @@ ob_collections_group_parts_part_description_texture(void) } } - /** - @page edcref - @property - shade - image - @parameters - [SHADE] - [texture's filename] - @effect - Sets the shade mode for MESH_NODE. Valid shade modes: - @li COLOR - @li DIFFUSE - @li FLAT - @li PHONG - @li MAP - @li RENDER - Name of image to be used as previously declared in the image block. - It's required in any mesh_node part. - @endproperty +/** + @page edcref + @property + shade + image + @parameters + [SHADE] + [texture's filename] + @effect + Sets the shade mode for MESH_NODE. Valid shade modes: + @li COLOR + @li DIFFUSE + @li FLAT + @li PHONG + @li MAP + @li RENDER + Name of image to be used as previously declared in the image block. + It's required in any mesh_node part. + @endproperty */ static void st_collections_group_parts_part_description_texture_image(void) @@ -12973,7 +13211,7 @@ st_collections_group_parts_part_description_texture_image(void) if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { char *name; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.texture.textured = EINA_TRUE; @@ -13003,7 +13241,7 @@ st_collections_group_parts_part_description_texture_image(void) @li REPEAT @li REFLECT @endproperty -*/ + */ static void st_collections_group_parts_part_description_texture_wrap1(void) { @@ -13012,16 +13250,16 @@ st_collections_group_parts_part_description_texture_wrap1(void) check_arg_count(1); wrap1 = parse_enum(0, - "CLAMP", EVAS_CANVAS3D_WRAP_MODE_CLAMP, - "REPEAT", EVAS_CANVAS3D_WRAP_MODE_REPEAT, - "REFLECT", EVAS_CANVAS3D_WRAP_MODE_REFLECT, - NULL); + "CLAMP", EVAS_CANVAS3D_WRAP_MODE_CLAMP, + "REPEAT", EVAS_CANVAS3D_WRAP_MODE_REPEAT, + "REFLECT", EVAS_CANVAS3D_WRAP_MODE_REFLECT, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.texture.wrap1 = wrap1; } @@ -13045,7 +13283,7 @@ st_collections_group_parts_part_description_texture_wrap1(void) @li REPEAT @li REFLECT @endproperty -*/ + */ static void st_collections_group_parts_part_description_texture_wrap2(void) { @@ -13054,16 +13292,16 @@ st_collections_group_parts_part_description_texture_wrap2(void) check_arg_count(1); wrap2 = parse_enum(0, - "CLAMP", EVAS_CANVAS3D_WRAP_MODE_CLAMP, - "REPEAT", EVAS_CANVAS3D_WRAP_MODE_REPEAT, - "REFLECT", EVAS_CANVAS3D_WRAP_MODE_REFLECT, - NULL); + "CLAMP", EVAS_CANVAS3D_WRAP_MODE_CLAMP, + "REPEAT", EVAS_CANVAS3D_WRAP_MODE_REPEAT, + "REFLECT", EVAS_CANVAS3D_WRAP_MODE_REFLECT, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.texture.wrap2 = wrap2; } @@ -13089,7 +13327,7 @@ st_collections_group_parts_part_description_texture_wrap2(void) @li LINEAR_MIPMAP_NEAREST @li NEAREST_MIPMAP_LINEAR @endproperty -*/ + */ static void st_collections_group_parts_part_description_texture_filter1(void) { @@ -13098,19 +13336,19 @@ st_collections_group_parts_part_description_texture_filter1(void) check_arg_count(1); filter1 = parse_enum(0, - "NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, - "LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR, - "NEAREST_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST, - "LINEAR_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST, - "NEAREST_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR, - "LINEAR_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR, - NULL); + "NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, + "LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR, + "NEAREST_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST, + "LINEAR_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST, + "NEAREST_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR, + "LINEAR_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.texture.filter1 = filter1; } @@ -13136,7 +13374,7 @@ st_collections_group_parts_part_description_texture_filter1(void) @li LINEAR_MIPMAP_NEAREST @li NEAREST_MIPMAP_LINEAR @endproperty -*/ + */ static void st_collections_group_parts_part_description_texture_filter2(void) { @@ -13145,19 +13383,19 @@ st_collections_group_parts_part_description_texture_filter2(void) check_arg_count(1); filter2 = parse_enum(0, - "NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, - "LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR, - "NEAREST_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST, - "LINEAR_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST, - "NEAREST_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR, - "LINEAR_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR, - NULL); + "NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, + "LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR, + "NEAREST_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST, + "LINEAR_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST, + "NEAREST_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR, + "LINEAR_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.texture.filter2 = filter2; } @@ -13204,7 +13442,7 @@ st_collections_group_parts_part_description_texture_filter2(void) @li CUBE @li SPHERE @endproperty -*/ + */ static void st_collections_group_parts_part_description_mesh_primitive(void) { @@ -13213,16 +13451,16 @@ st_collections_group_parts_part_description_mesh_primitive(void) check_arg_count(1); primitive = parse_enum(0, - "NONE", EVAS_CANVAS3D_MESH_PRIMITIVE_NONE, - "CUBE", EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE, - "SPHERE", EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE, - NULL); + "NONE", EVAS_CANVAS3D_MESH_PRIMITIVE_NONE, + "CUBE", EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE, + "SPHERE", EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.mesh.primitive = primitive; } @@ -13250,7 +13488,7 @@ st_collections_group_parts_part_description_mesh_primitive(void) @li TRIANGLE_STRIP @li TRIANGLE_FAN @endproperty -*/ + */ static void st_collections_group_parts_part_description_mesh_assembly(void) { @@ -13259,20 +13497,20 @@ st_collections_group_parts_part_description_mesh_assembly(void) check_arg_count(1); assembly = parse_enum(0, - "POINTS", EVAS_CANVAS3D_VERTEX_ASSEMBLY_POINTS, - "LINES", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES, - "LINE_STRIP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_STRIP, - "LINE_LOOP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_LOOP, - "TRIANGLES", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES, - "TRIANGLE_STRIP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_STRIP, - "TRIANGLE_FAN", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_FAN, - NULL); + "POINTS", EVAS_CANVAS3D_VERTEX_ASSEMBLY_POINTS, + "LINES", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES, + "LINE_STRIP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_STRIP, + "LINE_LOOP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_LOOP, + "TRIANGLES", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES, + "TRIANGLE_STRIP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_STRIP, + "TRIANGLE_FAN", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_FAN, + NULL); if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.mesh.assembly = assembly; } @@ -13294,7 +13532,7 @@ st_collections_group_parts_part_description_mesh_assembly(void) Name of model to be used as previously declared in the model block. It's required in any mesh_node part. @endproperty -*/ + */ static void st_collections_group_parts_part_description_mesh_geometry(void) { @@ -13305,7 +13543,7 @@ st_collections_group_parts_part_description_mesh_geometry(void) if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { char *name; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; name = parse_str(0); if (!ecore_file_exists(name)) @@ -13332,12 +13570,11 @@ st_collections_group_parts_part_description_mesh_frame(void) { check_arg_count(1); - if (current_part->type == EDJE_PART_TYPE_MESH_NODE) { Edje_Part_Description_Mesh_Node *ed; - ed = (Edje_Part_Description_Mesh_Node*) current_desc; + ed = (Edje_Part_Description_Mesh_Node *)current_desc; ed->mesh_node.mesh.frame = parse_int(0); } @@ -13398,7 +13635,7 @@ st_collections_group_parts_part_description_mesh_frame(void) so it will be immovable, static. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void @@ -13408,6 +13645,7 @@ st_collections_group_parts_part_description_physics_mass(void) current_desc->physics.mass = parse_float(0); } + #endif /** @@ -13428,7 +13666,7 @@ st_collections_group_parts_part_description_physics_mass(void) @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void @@ -13438,6 +13676,7 @@ st_collections_group_parts_part_description_physics_restitution(void) current_desc->physics.restitution = parse_float(0); } + #endif /** @@ -13458,7 +13697,7 @@ st_collections_group_parts_part_description_physics_restitution(void) @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void @@ -13468,6 +13707,7 @@ st_collections_group_parts_part_description_physics_friction(void) current_desc->physics.friction = parse_float(0); } + #endif /** @@ -13484,7 +13724,7 @@ st_collections_group_parts_part_description_physics_friction(void) Default is 1 (enabled). @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_ignore_part_pos(void) @@ -13493,6 +13733,7 @@ st_collections_group_parts_part_description_physics_ignore_part_pos(void) current_desc->physics.ignore_part_pos = parse_bool(0); } + #endif /** @@ -13510,7 +13751,7 @@ st_collections_group_parts_part_description_physics_ignore_part_pos(void) Values should be between 0.0 and 1.0, and are set to 0 by default. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_damping(void) @@ -13520,6 +13761,7 @@ st_collections_group_parts_part_description_physics_damping(void) current_desc->physics.damping.linear = parse_float_range(0, 0, 1.0); current_desc->physics.damping.angular = parse_float_range(1, 0, 1.0); } + #endif /** @@ -13542,7 +13784,7 @@ st_collections_group_parts_part_description_physics_damping(void) 57.29 degrees / sec (1 rad/sec). @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_sleep(void) @@ -13552,6 +13794,7 @@ st_collections_group_parts_part_description_physics_sleep(void) current_desc->physics.sleep.linear = parse_float(0); current_desc->physics.sleep.angular = parse_float(1); } + #endif /** @@ -13578,7 +13821,7 @@ st_collections_group_parts_part_description_physics_sleep(void) @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_material(void) @@ -13586,15 +13829,16 @@ st_collections_group_parts_part_description_physics_material(void) check_arg_count(1); current_desc->physics.material = parse_enum(0, - "CUSTOM", EPHYSICS_BODY_MATERIAL_CUSTOM, - "CONCRETE", EPHYSICS_BODY_MATERIAL_CONCRETE, - "IRON", EPHYSICS_BODY_MATERIAL_IRON, - "PLASTIC", EPHYSICS_BODY_MATERIAL_PLASTIC, - "POLYSTYRENE", EPHYSICS_BODY_MATERIAL_POLYSTYRENE, - "RUBBER", EPHYSICS_BODY_MATERIAL_RUBBER, - "WOOD", EPHYSICS_BODY_MATERIAL_WOOD, - NULL); + "CUSTOM", EPHYSICS_BODY_MATERIAL_CUSTOM, + "CONCRETE", EPHYSICS_BODY_MATERIAL_CONCRETE, + "IRON", EPHYSICS_BODY_MATERIAL_IRON, + "PLASTIC", EPHYSICS_BODY_MATERIAL_PLASTIC, + "POLYSTYRENE", EPHYSICS_BODY_MATERIAL_POLYSTYRENE, + "RUBBER", EPHYSICS_BODY_MATERIAL_RUBBER, + "WOOD", EPHYSICS_BODY_MATERIAL_WOOD, + NULL); } + #endif /** @@ -13609,7 +13853,7 @@ st_collections_group_parts_part_description_physics_material(void) When a mass is explicitely set the density will be unset. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_density(void) @@ -13618,6 +13862,7 @@ st_collections_group_parts_part_description_physics_density(void) current_desc->physics.density = parse_float(0); } + #endif /** @@ -13635,7 +13880,7 @@ st_collections_group_parts_part_description_physics_density(void) Valid values vary from 0.0 to 1.0. Only works on soft bodies and cloths. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_hardness(void) @@ -13644,6 +13889,7 @@ st_collections_group_parts_part_description_physics_hardness(void) current_desc->physics.hardness = parse_float_range(0, 0, 1.0); } + #endif /** @@ -13658,7 +13904,7 @@ st_collections_group_parts_part_description_physics_hardness(void) Disabled by default (0). @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_light_on(void) @@ -13667,6 +13913,7 @@ st_collections_group_parts_part_description_physics_light_on(void) current_desc->physics.light_on = parse_bool(0); } + #endif /** @@ -13679,7 +13926,7 @@ st_collections_group_parts_part_description_physics_light_on(void) Defines body position in z axis. It's set to -15 by default. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_z(void) @@ -13688,6 +13935,7 @@ st_collections_group_parts_part_description_physics_z(void) current_desc->physics.z = parse_int(0); } + #endif /** @@ -13700,7 +13948,7 @@ st_collections_group_parts_part_description_physics_z(void) Defines body's depth (z axis). It's set to 30 by default. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_depth(void) @@ -13709,6 +13957,7 @@ st_collections_group_parts_part_description_physics_depth(void) current_desc->physics.depth = parse_int(0); } + #endif /** @@ -13723,7 +13972,7 @@ st_collections_group_parts_part_description_physics_depth(void) This means that the object will be hidden when "backface culled". @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_backface_cull(void) @@ -13732,6 +13981,7 @@ st_collections_group_parts_part_description_physics_backface_cull(void) current_desc->physics.backcull = parse_bool(0); } + #endif /** @edcsubsection{collections_group_parts_description_physics_movement_freedom, @@ -13767,7 +14017,7 @@ st_collections_group_parts_part_description_physics_backface_cull(void) Axes x and y are enabled by default. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_movement_freedom_linear(void) @@ -13778,6 +14028,7 @@ st_collections_group_parts_part_description_physics_movement_freedom_linear(void current_desc->physics.mov_freedom.lin.y = parse_bool(1); current_desc->physics.mov_freedom.lin.z = parse_bool(2); } + #endif /** @@ -13792,7 +14043,7 @@ st_collections_group_parts_part_description_physics_movement_freedom_linear(void Z axis is enabled by default. @since 1.8 @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_movement_freedom_angular(void) @@ -13803,6 +14054,7 @@ st_collections_group_parts_part_description_physics_movement_freedom_angular(voi current_desc->physics.mov_freedom.ang.y = parse_bool(1); current_desc->physics.mov_freedom.ang.z = parse_bool(2); } + #endif /** @edcsubsection{collections_group_parts_description_physics_faces, @@ -13832,7 +14084,7 @@ st_collections_group_parts_part_description_physics_movement_freedom_angular(voi Only the "faces" block declared in the "default" description will be considered. @endblock -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_face(void) @@ -13845,6 +14097,7 @@ st_collections_group_parts_part_description_physics_face(void) pface->type = 0; pface->source = NULL; } + #endif /** @@ -13874,7 +14127,7 @@ st_collections_group_parts_part_description_physics_face(void) @li SPHERE_FRONT @li SPHERE_BACK @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_face_type(void) @@ -13884,35 +14137,36 @@ st_collections_group_parts_part_description_physics_face_type(void) pface = eina_list_data_get(eina_list_last(current_desc->physics.faces)); pface->type = parse_enum(0, - "BOX_MIDDLE_FRONT", EPHYSICS_BODY_BOX_FACE_MIDDLE_FRONT, - "BOX_MIDDLE_BACK", EPHYSICS_BODY_BOX_FACE_MIDDLE_BACK, - "BOX_FRONT", EPHYSICS_BODY_BOX_FACE_FRONT, - "BOX_BACK", EPHYSICS_BODY_BOX_FACE_BACK, - "BOX_LEFT", EPHYSICS_BODY_BOX_FACE_LEFT, - "BOX_RIGHT", EPHYSICS_BODY_BOX_FACE_RIGHT, - "BOX_TOP", EPHYSICS_BODY_BOX_FACE_TOP, - "BOX_BOTTOM", EPHYSICS_BODY_BOX_FACE_BOTTOM, - "CLOTH_FRONT", EPHYSICS_BODY_CLOTH_FACE_FRONT, - "CLOTH_BACK", EPHYSICS_BODY_CLOTH_FACE_BACK, - "CYLINDER_MIDDLE_FRONT", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_FRONT, - "CYLINDER_MIDDLE_BACK", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_BACK, - "CYLINDER_FRONT", EPHYSICS_BODY_CYLINDER_FACE_FRONT, - "CYLINDER_BACK", EPHYSICS_BODY_CYLINDER_FACE_BACK, - "CYLINDER_CURVED", EPHYSICS_BODY_CYLINDER_FACE_CURVED, - "SPHERE_FRONT", EPHYSICS_BODY_SPHERE_FACE_FRONT, - "SPHERE_BACK", EPHYSICS_BODY_SPHERE_FACE_BACK, - NULL); + "BOX_MIDDLE_FRONT", EPHYSICS_BODY_BOX_FACE_MIDDLE_FRONT, + "BOX_MIDDLE_BACK", EPHYSICS_BODY_BOX_FACE_MIDDLE_BACK, + "BOX_FRONT", EPHYSICS_BODY_BOX_FACE_FRONT, + "BOX_BACK", EPHYSICS_BODY_BOX_FACE_BACK, + "BOX_LEFT", EPHYSICS_BODY_BOX_FACE_LEFT, + "BOX_RIGHT", EPHYSICS_BODY_BOX_FACE_RIGHT, + "BOX_TOP", EPHYSICS_BODY_BOX_FACE_TOP, + "BOX_BOTTOM", EPHYSICS_BODY_BOX_FACE_BOTTOM, + "CLOTH_FRONT", EPHYSICS_BODY_CLOTH_FACE_FRONT, + "CLOTH_BACK", EPHYSICS_BODY_CLOTH_FACE_BACK, + "CYLINDER_MIDDLE_FRONT", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_FRONT, + "CYLINDER_MIDDLE_BACK", EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_BACK, + "CYLINDER_FRONT", EPHYSICS_BODY_CYLINDER_FACE_FRONT, + "CYLINDER_BACK", EPHYSICS_BODY_CYLINDER_FACE_BACK, + "CYLINDER_CURVED", EPHYSICS_BODY_CYLINDER_FACE_CURVED, + "SPHERE_FRONT", EPHYSICS_BODY_SPHERE_FACE_FRONT, + "SPHERE_BACK", EPHYSICS_BODY_SPHERE_FACE_BACK, + NULL); EINA_LIST_FOREACH(current_desc->physics.faces, l, pface2) { - if ((pface != pface2) && (pface->type == pface2->type)) - { - ERR("parse error %s:%i. There is already a face of type \"%i\"", - file_in, line - 1, pface->type); - exit(-1); - } + if ((pface != pface2) && (pface->type == pface2->type)) + { + ERR("parse error %s:%i. There is already a face of type \"%i\"", + file_in, line - 1, pface->type); + exit(-1); + } } } + #endif /** @@ -13925,7 +14179,7 @@ st_collections_group_parts_part_description_physics_face_type(void) This sets the group that is used as the object representing the physics body face. @endproperty -*/ + */ #ifdef HAVE_EPHYSICS static void st_collections_group_parts_part_description_physics_face_source(void) @@ -13938,6 +14192,7 @@ st_collections_group_parts_part_description_physics_face_source(void) pface->source = parse_str(0); data_queue_face_group_lookup(pface->source); } + #endif /** @edcsubsection{collections_group_parts_description_map, @@ -13982,7 +14237,7 @@ st_collections_group_parts_part_description_physics_face_source(void) This also implicitly enables perspective transforms (see the on parameter for the map section). @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_perspective(void) { @@ -14020,7 +14275,7 @@ st_collections_group_parts_part_description_map_perspective(void) the ambient lighting when calculating brightness (alpha also not used). @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_light(void) { @@ -14050,7 +14305,7 @@ st_collections_group_parts_part_description_map_light(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_on(void) { @@ -14073,7 +14328,7 @@ st_collections_group_parts_part_description_map_on(void) Defaults: 1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_smooth(void) { @@ -14093,7 +14348,7 @@ st_collections_group_parts_part_description_map_smooth(void) Defaults: 1 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_alpha(void) { @@ -14115,7 +14370,7 @@ st_collections_group_parts_part_description_map_alpha(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_backface_cull(void) { @@ -14138,7 +14393,7 @@ st_collections_group_parts_part_description_map_backface_cull(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_perspective_on(void) { @@ -14176,7 +14431,7 @@ st_collections_group_parts_part_description_map_perspective_on(void) Defaults: 255 255 255 255 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_color(void) { @@ -14209,8 +14464,8 @@ st_collections_group_parts_part_description_map_color(void) *color = tmp; current_desc->map.colors_count++; current_desc->map.colors = - realloc(current_desc->map.colors, - sizeof(Edje_Map_Color*) * current_desc->map.colors_count); + realloc(current_desc->map.colors, + sizeof(Edje_Map_Color *) * current_desc->map.colors_count); current_desc->map.colors[current_desc->map.colors_count - 1] = color; } @@ -14225,7 +14480,7 @@ st_collections_group_parts_part_description_map_color(void) Defaults: 1.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_zoom_x(void) { @@ -14245,7 +14500,7 @@ st_collections_group_parts_part_description_map_zoom_x(void) Defaults: 1.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_zoom_y(void) { @@ -14275,7 +14530,7 @@ st_collections_group_parts_part_description_map_zoom_y(void) @description Rotates the part, optionally with the center on another part. @endblock - + @property center @parameters @@ -14287,7 +14542,7 @@ st_collections_group_parts_part_description_map_zoom_y(void) x, y and z axes. If no center is given, the parts original center itself is used for the rotation center. @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_rotation_center(void) { @@ -14318,7 +14573,7 @@ st_collections_group_parts_part_description_map_rotation_center(void) Defaults: 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_rotation_x(void) { @@ -14339,7 +14594,7 @@ st_collections_group_parts_part_description_map_rotation_x(void) Defaults: 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_rotation_y(void) { @@ -14360,7 +14615,7 @@ st_collections_group_parts_part_description_map_rotation_y(void) Defaults: 0.0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_map_rotation_z(void) { @@ -14389,7 +14644,7 @@ st_collections_group_parts_part_description_map_rotation_z(void) Adds focal and plane perspective to the part. Active if perspective_on is true. Must be provided if the part is being used by other part as it's perspective target. @endblock - + @property zplane @parameters @@ -14400,7 +14655,7 @@ st_collections_group_parts_part_description_map_rotation_z(void) Defaults: 0 @endproperty -*/ + */ static void st_collections_group_parts_part_description_perspective_zplane(void) { @@ -14409,7 +14664,6 @@ st_collections_group_parts_part_description_perspective_zplane(void) current_desc->persp.zplane = parse_int(0); } - /** @page edcref @property @@ -14422,7 +14676,7 @@ st_collections_group_parts_part_description_perspective_zplane(void) Defaults: 1000 @endproperty -*/ + */ static void st_collections_group_parts_part_description_perspective_focal(void) { @@ -14431,7 +14685,6 @@ st_collections_group_parts_part_description_perspective_focal(void) current_desc->persp.focal = parse_int_range(0, 1, 0x7fffffff); } - /** @edcsubsection{collections_group_parts_description_filter, * Group.Parts.Part.Description.Filter} */ @@ -14478,7 +14731,7 @@ st_collections_group_parts_part_description_perspective_focal(void) @ref evasfiltersref "here" or a filter name defined in the @ref sec_collections_group_filters "Filters" section. @endproperty -*/ + */ static void st_collections_group_parts_part_description_filter_code(void) { @@ -14501,7 +14754,7 @@ st_collections_group_parts_part_description_filter_code(void) exit(-1); } - free((void*) filter->code); + free((void *)filter->code); filter->code = parse_str(0); } @@ -14517,7 +14770,7 @@ st_collections_group_parts_part_description_filter_code(void) text or image filter operation. Optionally, a buffer name may be specified, so the same filter code can be used with different sources. @endproperty -*/ + */ static void st_collections_group_parts_part_description_filter_source(void) { @@ -14529,7 +14782,7 @@ st_collections_group_parts_part_description_filter_source(void) int args; static const char allowed_name_chars[] = - "abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789_"; + "abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789_"; if (current_part->type == EDJE_PART_TYPE_TEXT) filter = &(((Edje_Part_Description_Text *)current_desc)->filter); @@ -14619,7 +14872,7 @@ st_collections_group_parts_part_description_filter_source(void) mycc = { r = 255, g = 0, b, a, r2, g2, b2, a2, r3, g3, b3, a3 } @endcode @endproperty -*/ + */ static void st_collections_group_parts_part_description_filter_data(void) { @@ -14685,7 +14938,7 @@ st_collections_group_parts_part_description_filter_data(void) Set parameters for EXTERNAL parts. The value overwrites previous definitions with the same name. @endblock -*/ + */ static void _st_collections_group_parts_part_description_params(Edje_External_Param_Type type) { @@ -14704,25 +14957,25 @@ _st_collections_group_parts_part_description_params(Edje_External_Param_Type typ exit(-1); } - ed = (Edje_Part_Description_External*) current_desc; + ed = (Edje_Part_Description_External *)current_desc; name = parse_str(0); /* if a param with this name already exists, overwrite it */ EINA_LIST_FOREACH(ed->external_params, l, param) { - if (!strcmp(param->name, name)) - { - found = 1; + if (!strcmp(param->name, name)) + { + found = 1; free(name); - break; - } + break; + } } if (!found) { - param = mem_alloc(SZ(Edje_External_Param)); - param->name = name; + param = mem_alloc(SZ(Edje_External_Param)); + param->name = name; } param->type = type; @@ -14733,22 +14986,26 @@ _st_collections_group_parts_part_description_params(Edje_External_Param_Type typ switch (type) { case EDJE_EXTERNAL_PARAM_TYPE_BOOL: - param->i = parse_bool(1); - break; + param->i = parse_bool(1); + break; + case EDJE_EXTERNAL_PARAM_TYPE_INT: - param->i = parse_int(1); - break; + param->i = parse_int(1); + break; + case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: - param->d = parse_float(1); - break; + param->d = parse_float(1); + break; + case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: case EDJE_EXTERNAL_PARAM_TYPE_STRING: - param->s = parse_str(1); - break; + param->s = parse_str(1); + break; + default: - ERR("parse error %s:%i. Invalid param type.", - file_in, line - 1); - break; + ERR("parse error %s:%i. Invalid param type.", + file_in, line - 1); + break; } if (!found) @@ -14764,7 +15021,7 @@ _st_collections_group_parts_part_description_params(Edje_External_Param_Type typ @effect Adds an integer parameter for an external object @endproperty -*/ + */ static void st_collections_group_parts_part_description_params_int(void) { @@ -14780,7 +15037,7 @@ st_collections_group_parts_part_description_params_int(void) @effect Adds a double parameter for an external object @endproperty -*/ + */ static void st_collections_group_parts_part_description_params_double(void) { @@ -14796,7 +15053,7 @@ st_collections_group_parts_part_description_params_double(void) @effect Adds a string parameter for an external object @endproperty -*/ + */ static void st_collections_group_parts_part_description_params_string(void) { @@ -14812,7 +15069,7 @@ st_collections_group_parts_part_description_params_string(void) @effect Adds an boolean parameter for an external object. @endproperty -*/ + */ static void st_collections_group_parts_part_description_params_bool(void) { @@ -14830,7 +15087,7 @@ st_collections_group_parts_part_description_params_bool(void) choice values are defined by external type at their register time and will be validated at runtime. @endproperty -*/ + */ static void st_collections_group_parts_part_description_params_choice(void) { @@ -14862,7 +15119,7 @@ st_collections_group_parts_part_description_params_choice(void) signal: "edje,signal"; source: "edje"; @since 1.10 @endblock -*/ + */ static void ob_collections_group_parts_part_description_link(void) { @@ -14872,10 +15129,10 @@ ob_collections_group_parts_part_description_link(void) const char *nm; pcp = eina_list_last_data_get(edje_collections); - epp = (Edje_Part_Parser*)current_part; + epp = (Edje_Part_Parser *)current_part; ob_collections_group_programs_program(); - _edje_program_remove((Edje_Part_Collection*)pcp, current_program); + _edje_program_remove((Edje_Part_Collection *)pcp, current_program); el = mem_alloc(SZ(Edje_Part_Description_Link)); el->pr = current_program; el->ed = current_desc; @@ -14899,7 +15156,7 @@ ob_collections_group_parts_part_description_link(void) default value if it is not provided. @since 1.10 @endproperty -*/ + */ static void st_collections_group_parts_part_description_link_base(void) { @@ -14913,7 +15170,7 @@ st_collections_group_parts_part_description_link_base(void) el = eina_list_last_data_get(pcp->links); if ((!el) || (el->pr != current_program) || - (el->ed != current_desc) || (el->epp != (Edje_Part_Parser*)current_part) || + (el->ed != current_desc) || (el->epp != (Edje_Part_Parser *)current_part) || el->pr->source) ob_collections_group_parts_part_description_link(); el = eina_list_last_data_get(pcp->links); @@ -14923,17 +15180,17 @@ st_collections_group_parts_part_description_link_base(void) if (current_program->signal && pcp->link_hash) { snprintf(buf, sizeof(buf), "%s\"\"\"%s", current_program->signal, - current_program->source ? current_program->source: ""); + current_program->source ? current_program->source : ""); eina_hash_list_remove(pcp->link_hash, buf, el); } if (!pcp->link_hash) pcp->link_hash = eina_hash_string_superfast_new((Eina_Free_Cb)eina_list_free); - free((void*)current_program->signal); + free((void *)current_program->signal); current_program->signal = name; if (get_arg_count() == 2) { name = parse_str(1); - free((void*)current_program->source); + free((void *)current_program->source); current_program->source = name; } snprintf(buf, sizeof(buf), "%s\"\"\"%s", current_program->signal, @@ -14971,13 +15228,13 @@ st_collections_group_parts_part_description_link_base(void) @description The programs group contain one ore more program. @endblock -*/ + */ static void _program_sequence_check(void) { if (sequencing != current_program) return; ERR("parse error %s:%i. cannot set sequence parent program attributes within sequence block", - file_in, line - 1); + file_in, line - 1); exit(-1); } @@ -14997,14 +15254,14 @@ _program_after(const char *name) EINA_LIST_FOREACH(ep->after, l, pa2) { - if (!strcmp(name, (char*) (pa2 + 1))) + if (!strcmp(name, (char *)(pa2 + 1))) return; } pa = mem_alloc(SZ(Edje_Program_After) + strlen(name) + 1); pa->id = -1; ep->after = eina_list_append(ep->after, pa); - copy = (char*)(pa + 1); + copy = (char *)(pa + 1); memcpy(copy, name, strlen(name) + 1); pl = data_queue_program_lookup(pc, name, &(pa->id)); if (pl) @@ -15054,7 +15311,7 @@ _program_sequence_new(void) Programs can change the state of parts, react to events or trigger other events. @endblock -*/ + */ static void ob_collections_group_programs_program(void) { @@ -15120,7 +15377,7 @@ _program_name(char *name) @effect Symbolic name of program as a unique identifier. @endproperty -*/ + */ static void st_collections_group_programs_program_name(void) { @@ -15162,7 +15419,7 @@ st_collections_group_programs_program_name(void) - focus,part,in; - focus,part,out. @endproperty -*/ + */ static void st_collections_group_programs_program_signal(void) { @@ -15190,7 +15447,7 @@ st_collections_group_programs_program_signal(void) keyword per program may be used. ex: source: "button-*"; (Signals from any part or program named "button-*" are accepted). @endproperty -*/ + */ static void st_collections_group_programs_program_source(void) { @@ -15203,7 +15460,7 @@ st_collections_group_programs_program_source(void) pc = eina_list_data_get(eina_list_last(edje_collections)); _edje_program_remove(pc, current_program); - free((void*)current_program->source); + free((void *)current_program->source); current_program->source = parse_str(0); _edje_program_insert(pc, current_program); } @@ -15219,7 +15476,7 @@ st_collections_group_programs_program_source(void) Only one filter per program can be used. If [part] is not given, the source of the event will be used instead. @endproperty -*/ + */ static void st_collections_group_programs_program_filter(void) { @@ -15227,12 +15484,15 @@ st_collections_group_programs_program_filter(void) _program_sequence_check(); - if(is_param(1)) { - current_program->filter.part = parse_str(0); - current_program->filter.state = parse_str(1); - } else { - current_program->filter.state = parse_str(0); - } + if (is_param(1)) + { + current_program->filter.part = parse_str(0); + current_program->filter.state = parse_str(1); + } + else + { + current_program->filter.state = parse_str(0); + } } /** @@ -15247,7 +15507,7 @@ st_collections_group_programs_program_filter(void) Defaults: 0.0 0.0 @endproperty -*/ + */ static void st_collections_group_programs_program_in(void) { @@ -15302,7 +15562,7 @@ st_collections_group_programs_program_in(void) @li ALERT @endproperty -*/ + */ static void st_collections_group_programs_program_action(void) { @@ -15343,11 +15603,11 @@ st_collections_group_programs_program_action(void) NULL); if (ep->action == EDJE_ACTION_TYPE_STATE_SET) { - ep->state = parse_str(1); - if (get_arg_count() == 2) - ep->value = 0.0; - else - ep->value = parse_float_range(2, 0.0, 1.0); + ep->state = parse_str(1); + if (get_arg_count() == 2) + ep->value = 0.0; + else + ep->value = parse_float_range(2, 0.0, 1.0); } else if ((ep->action == EDJE_ACTION_TYPE_FOCUS_SET) || (ep->action == EDJE_ACTION_TYPE_FOCUS_OBJECT)) @@ -15359,8 +15619,8 @@ st_collections_group_programs_program_action(void) } else if (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT) { - ep->state = parse_str(1); - ep->state2 = parse_str(2); + ep->state = parse_str(1); + ep->state2 = parse_str(2); } else if (ep->action == EDJE_ACTION_TYPE_SOUND_SAMPLE) { @@ -15431,44 +15691,44 @@ st_collections_group_programs_program_action(void) } else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_SET) { - ep->value = parse_float(1); - ep->value2 = parse_float(2); + ep->value = parse_float(1); + ep->value2 = parse_float(2); } else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_STEP) { - ep->value = parse_float(1); - ep->value2 = parse_float(2); + ep->value = parse_float(1); + ep->value2 = parse_float(2); } else if (ep->action == EDJE_ACTION_TYPE_DRAG_VAL_PAGE) { - ep->value = parse_float(1); - ep->value2 = parse_float(2); + ep->value = parse_float(1); + ep->value2 = parse_float(2); } else if (ep->action == EDJE_ACTION_TYPE_PARAM_COPY) { - char *src_part, *dst_part; - - src_part = parse_str(1); - ep->state = parse_str(2); - dst_part = parse_str(3); - ep->state2 = parse_str(4); - - data_queue_part_lookup(pc, src_part, &(ep->param.src)); - data_queue_part_lookup(pc, dst_part, &(ep->param.dst)); - - free(src_part); - free(dst_part); + char *src_part, *dst_part; + + src_part = parse_str(1); + ep->state = parse_str(2); + dst_part = parse_str(3); + ep->state2 = parse_str(4); + + data_queue_part_lookup(pc, src_part, &(ep->param.src)); + data_queue_part_lookup(pc, dst_part, &(ep->param.dst)); + + free(src_part); + free(dst_part); } else if (ep->action == EDJE_ACTION_TYPE_PARAM_SET) { - char *part; - - part = parse_str(1); - ep->state = parse_str(2); - ep->state2 = parse_str(3); - - data_queue_part_lookup(pc, part, &(ep->param.dst)); - free(part); + char *part; + + part = parse_str(1); + ep->state = parse_str(2); + ep->state2 = parse_str(3); + + data_queue_part_lookup(pc, part, &(ep->param.dst)); + free(part); } #ifdef HAVE_EPHYSICS else if ((ep->action == EDJE_ACTION_TYPE_PHYSICS_IMPULSE) || @@ -15494,14 +15754,16 @@ st_collections_group_programs_program_action(void) switch (ep->action) { case EDJE_ACTION_TYPE_SCRIPT: - /* this is implicitly set by script {} so this is here just for - * completeness */ - break; + /* this is implicitly set by script {} so this is here just for + * completeness */ + break; + case EDJE_ACTION_TYPE_ACTION_STOP: case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR: case EDJE_ACTION_TYPE_PHYSICS_STOP: check_arg_count(1); break; + case EDJE_ACTION_TYPE_PARAM_SET: case EDJE_ACTION_TYPE_PHYSICS_IMPULSE: case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE: @@ -15511,22 +15773,27 @@ st_collections_group_programs_program_action(void) case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET: check_arg_count(4); break; + case EDJE_ACTION_TYPE_PARAM_COPY: case EDJE_ACTION_TYPE_PHYSICS_ROT_SET: check_arg_count(5); break; + case EDJE_ACTION_TYPE_SOUND_SAMPLE: case EDJE_ACTION_TYPE_VIBRATION_SAMPLE: break; + case EDJE_ACTION_TYPE_STATE_SET: check_min_arg_count(2); break; + case EDJE_ACTION_TYPE_FOCUS_SET: case EDJE_ACTION_TYPE_FOCUS_OBJECT: check_min_arg_count(1); break; + default: - check_arg_count(3); + check_arg_count(3); } } @@ -15552,23 +15819,23 @@ st_collections_group_programs_program_action(void) @li BOUNCE @li SPRING @li CUBIC_BEZIER - + ACCEL_FAC, DECEL_FAC and SIN_FAC need the extra optional "interp val 1" to determine the "factor" of curviness. 1.0 is the same as their non-factor counterparts, where 0.0 is equal to linear. Numbers higher than one make the curve angles steeper with a more pronounced curve point. - + DIVIS, BOUNCE and SPRING also require "interp val 2" in addition to "interp val 1". - + DIVIS uses val 1 as the initial gradient start (0.0 is horizontal, 1.0 is diagonal (linear), 2.0 is twice the gradient of linear etc.). val 2 is interpreted as an integer factor defining how much the value swings "outside" the gradient only to come back to the final resting spot at the end. 0.0 for val 2 is equivalent to linear interpolation. Note that DIVIS can exceed 1.0 - + BOUNCE uses val 2 as the number of bounces (so its rounded down to the nearest integer value), with val 1 determining how much the bounce decays, with 0.0 giving linear decay per bounce, and higher @@ -15583,7 +15850,7 @@ st_collections_group_programs_program_action(void) Can be used as the last parameter of any transition type. (since 1.1.0) @endproperty -*/ + */ static void st_collections_group_programs_program_transition(void) { @@ -15595,38 +15862,38 @@ st_collections_group_programs_program_transition(void) _program_sequence_check(); current_program->tween.v1 = current_program->tween.v2 = - current_program->tween.v3 = current_program->tween.v4 = 0.0; + current_program->tween.v3 = current_program->tween.v4 = 0.0; current_program->tween.mode = parse_enum(0, - // short names - "LIN", EDJE_TWEEN_MODE_LINEAR, - "SIN", EDJE_TWEEN_MODE_SINUSOIDAL, - "ACCEL", EDJE_TWEEN_MODE_ACCELERATE, - "DECEL", EDJE_TWEEN_MODE_DECELERATE, - "ACCEL_FAC", EDJE_TWEEN_MODE_ACCELERATE_FACTOR, - "DECEL_FAC", EDJE_TWEEN_MODE_DECELERATE_FACTOR, - "SIN_FAC", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR, - "DIVIS", EDJE_TWEEN_MODE_DIVISOR_INTERP, - - // long/full names - "LINEAR", EDJE_TWEEN_MODE_LINEAR, - "SINUSOIDAL", EDJE_TWEEN_MODE_SINUSOIDAL, - "CUBIC_BEZIER", EDJE_TWEEN_MODE_CUBIC_BEZIER, - "ACCELERATE", EDJE_TWEEN_MODE_ACCELERATE, - "DECELERATE", EDJE_TWEEN_MODE_DECELERATE, - "ACCELERATE_FACTOR", EDJE_TWEEN_MODE_ACCELERATE_FACTOR, - "DECELERATE_FACTOR", EDJE_TWEEN_MODE_DECELERATE_FACTOR, - "SINUSOIDAL_FACTOR", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR, - "DIVISOR_INTERP", EDJE_TWEEN_MODE_DIVISOR_INTERP, - - // long/full is short enough - "BOUNCE", EDJE_TWEEN_MODE_BOUNCE, - "SPRING", EDJE_TWEEN_MODE_SPRING, - NULL); + // short names + "LIN", EDJE_TWEEN_MODE_LINEAR, + "SIN", EDJE_TWEEN_MODE_SINUSOIDAL, + "ACCEL", EDJE_TWEEN_MODE_ACCELERATE, + "DECEL", EDJE_TWEEN_MODE_DECELERATE, + "ACCEL_FAC", EDJE_TWEEN_MODE_ACCELERATE_FACTOR, + "DECEL_FAC", EDJE_TWEEN_MODE_DECELERATE_FACTOR, + "SIN_FAC", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR, + "DIVIS", EDJE_TWEEN_MODE_DIVISOR_INTERP, + + // long/full names + "LINEAR", EDJE_TWEEN_MODE_LINEAR, + "SINUSOIDAL", EDJE_TWEEN_MODE_SINUSOIDAL, + "CUBIC_BEZIER", EDJE_TWEEN_MODE_CUBIC_BEZIER, + "ACCELERATE", EDJE_TWEEN_MODE_ACCELERATE, + "DECELERATE", EDJE_TWEEN_MODE_DECELERATE, + "ACCELERATE_FACTOR", EDJE_TWEEN_MODE_ACCELERATE_FACTOR, + "DECELERATE_FACTOR", EDJE_TWEEN_MODE_DECELERATE_FACTOR, + "SINUSOIDAL_FACTOR", EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR, + "DIVISOR_INTERP", EDJE_TWEEN_MODE_DIVISOR_INTERP, + + // long/full is short enough + "BOUNCE", EDJE_TWEEN_MODE_BOUNCE, + "SPRING", EDJE_TWEEN_MODE_SPRING, + NULL); current_program->tween.time = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0)); - //Check the index of params not related to tweenmode's param - //This index use for count of the tweenmode's param + //Check the index of params not related to tweenmode's param + //This index use for count of the tweenmode's param if ((index = get_param_index("USE_DURATION_FACTOR")) != -1) { current_program->tween.use_duration_factor = parse_bool(index + 1); @@ -15638,87 +15905,89 @@ st_collections_group_programs_program_transition(void) index = current; required_args++; } - switch(current_program->tween.mode) + switch (current_program->tween.mode) { - case EDJE_TWEEN_MODE_LINEAR: - case EDJE_TWEEN_MODE_SINUSOIDAL: - case EDJE_TWEEN_MODE_ACCELERATE: - case EDJE_TWEEN_MODE_DECELERATE: - { - required_args += 2; - check_arg_count(required_args); - } - break; + case EDJE_TWEEN_MODE_LINEAR: + case EDJE_TWEEN_MODE_SINUSOIDAL: + case EDJE_TWEEN_MODE_ACCELERATE: + case EDJE_TWEEN_MODE_DECELERATE: + { + required_args += 2; + check_arg_count(required_args); + } + break; - // the following need v1 - case EDJE_TWEEN_MODE_ACCELERATE_FACTOR: - case EDJE_TWEEN_MODE_DECELERATE_FACTOR: - case EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR: - { - required_args += 3; - check_arg_count(required_args); - if (index == -1 || index > 2) - { - current_program->tween.v1 = - FROM_DOUBLE(parse_float_range(2, -999999999.0, 999999999.0)); - break; - } - else - { - ERR("parse error %s:%i. Need 3rd parameter to set factor", + // the following need v1 + case EDJE_TWEEN_MODE_ACCELERATE_FACTOR: + case EDJE_TWEEN_MODE_DECELERATE_FACTOR: + case EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR: + { + required_args += 3; + check_arg_count(required_args); + if (index == -1 || index > 2) + { + current_program->tween.v1 = + FROM_DOUBLE(parse_float_range(2, -999999999.0, 999999999.0)); + break; + } + else + { + ERR("parse error %s:%i. Need 3rd parameter to set factor", file_in, line - 1); - exit(-1); - } - } - case EDJE_TWEEN_MODE_DIVISOR_INTERP: - case EDJE_TWEEN_MODE_BOUNCE: - case EDJE_TWEEN_MODE_SPRING: - { - required_args += 4; - check_arg_count(required_args); - if (index == -1 || index > 3) - { - current_program->tween.v1 = - FROM_DOUBLE(parse_float_range(2, -999999999.0, 999999999.0)); - current_program->tween.v2 = - FROM_DOUBLE(parse_float_range(3, -999999999.0, 999999999.0)); - break; - } - else - { - ERR("parse error %s:%i. " + exit(-1); + } + } + + case EDJE_TWEEN_MODE_DIVISOR_INTERP: + case EDJE_TWEEN_MODE_BOUNCE: + case EDJE_TWEEN_MODE_SPRING: + { + required_args += 4; + check_arg_count(required_args); + if (index == -1 || index > 3) + { + current_program->tween.v1 = + FROM_DOUBLE(parse_float_range(2, -999999999.0, 999999999.0)); + current_program->tween.v2 = + FROM_DOUBLE(parse_float_range(3, -999999999.0, 999999999.0)); + break; + } + else + { + ERR("parse error %s:%i. " "Need 3rd and 4th parameters to set factor and counts", file_in, line - 1); - exit(-1); - } - } - case EDJE_TWEEN_MODE_CUBIC_BEZIER: - { - required_args += 6; - check_arg_count(required_args); - if (index == -1 || index > 5) - { - current_program->tween.v1 = - FROM_DOUBLE(parse_float_range(2, -999999999.0, 999999999.0)); - current_program->tween.v2 = - FROM_DOUBLE(parse_float_range(3, -999999999.0, 999999999.0)); - current_program->tween.v3 = - FROM_DOUBLE(parse_float_range(4, -999999999.0, 999999999.0)); - current_program->tween.v4 = - FROM_DOUBLE(parse_float_range(5, -999999999.0, 999999999.0)); - break; - } - else - { - ERR("parse error %s:%i. " + exit(-1); + } + } + + case EDJE_TWEEN_MODE_CUBIC_BEZIER: + { + required_args += 6; + check_arg_count(required_args); + if (index == -1 || index > 5) + { + current_program->tween.v1 = + FROM_DOUBLE(parse_float_range(2, -999999999.0, 999999999.0)); + current_program->tween.v2 = + FROM_DOUBLE(parse_float_range(3, -999999999.0, 999999999.0)); + current_program->tween.v3 = + FROM_DOUBLE(parse_float_range(4, -999999999.0, 999999999.0)); + current_program->tween.v4 = + FROM_DOUBLE(parse_float_range(5, -999999999.0, 999999999.0)); + break; + } + else + { + ERR("parse error %s:%i. " "Need 3rd, 4th, 5th and 6th parameters to set x1, y1, x2 and y2", file_in, line - 1); - exit(-1); - } - } - } - if (current > 0) - current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT; + exit(-1); + } + } + } + if (current > 0) + current_program->tween.mode |= EDJE_TWEEN_MODE_OPT_FROM_CURRENT; } static void @@ -15736,7 +16005,7 @@ _program_target_add(char *name) EINA_LIST_FOREACH(ep->targets, l, etw) { - if (!strcmp(name, (char*) (etw + 1))) + if (!strcmp(name, (char *)(etw + 1))) { free(name); return; @@ -15745,13 +16014,14 @@ _program_target_add(char *name) et = mem_alloc(SZ(Edje_Program_Target) + strlen(name) + 1); ep->targets = eina_list_append(ep->targets, et); - copy = (char*) (et + 1); + copy = (char *)(et + 1); memcpy(copy, name, strlen(name) + 1); switch (ep->action) { case EDJE_ACTION_TYPE_ACTION_STOP: - data_queue_program_lookup(pc, name, &(et->id)); - break; + data_queue_program_lookup(pc, name, &(et->id)); + break; + case EDJE_ACTION_TYPE_STATE_SET: case EDJE_ACTION_TYPE_SIGNAL_EMIT: case EDJE_ACTION_TYPE_DRAG_VAL_SET: @@ -15770,12 +16040,13 @@ _program_target_add(char *name) case EDJE_ACTION_TYPE_PHYSICS_STOP: case EDJE_ACTION_TYPE_PHYSICS_ROT_SET: #endif - data_queue_part_lookup(pc, name, &(et->id)); - break; + data_queue_part_lookup(pc, name, &(et->id)); + break; + default: - ERR("parse error %s:%i. target may only be used after action", - file_in, line - 1); - exit(-1); + ERR("parse error %s:%i. target may only be used after action", + file_in, line - 1); + exit(-1); } free(name); } @@ -15791,7 +16062,7 @@ _program_target_add(char *name) keywords may be specified, one per target. SIGNAL_EMITs can have targets. @endproperty -*/ + */ static void st_collections_group_programs_program_target(void) { @@ -15814,7 +16085,7 @@ st_collections_group_programs_program_target(void) targets. @since 1.10 @endproperty -*/ + */ static void st_collections_group_programs_program_targets(void) { @@ -15840,7 +16111,7 @@ st_collections_group_programs_program_targets(void) and 'targets' keywords may be specified. SIGNAL_EMITs can have targets. @since 1.10 @endproperty -*/ + */ static void st_collections_group_programs_program_target_groups(void) { @@ -15873,7 +16144,7 @@ st_collections_group_programs_program_target_groups(void) continue; } ERR("parse error %s:%i. There is no target_group with the name '%s'", - file_in, line - 1, name); + file_in, line - 1, name); exit(-1); } } @@ -15889,7 +16160,7 @@ st_collections_group_programs_program_target_groups(void) source and signal parameters of a program run as an "after" are ignored. Multiple "after" statements can be specified per program. @endproperty -*/ + */ static void st_collections_group_programs_program_after(void) { @@ -15910,11 +16181,11 @@ st_collections_group_programs_program_after(void) [name] [description] @effect Specifies a hint to let applications (or IDE's) know how to bind - things. The parameter name should contain the name of the function that - the application should use, and description describes how it should - be used. + things. The parameter name should contain the name of the function that + the application should use, and description describes how it should + be used. @endproperty -*/ + */ static void st_collections_group_programs_program_api(void) { @@ -15926,8 +16197,8 @@ st_collections_group_programs_program_api(void) if (is_param(1)) { - check_arg_count(2); - current_program->api.description = parse_str(1); + check_arg_count(2); + current_program->api.description = parse_str(1); } } @@ -15978,14 +16249,14 @@ st_collections_group_programs_program_api(void) sequenced program. @since 1.10 @endblock -*/ + */ static void ob_collections_group_programs_program_sequence(void) { sequencing = current_program; sequencing_lookups = current_program_lookups; current_program_lookups = NULL; - ((Edje_Program_Parser*)sequencing)->can_override = EINA_FALSE; + ((Edje_Program_Parser *)sequencing)->can_override = EINA_FALSE; } static void @@ -15996,8 +16267,8 @@ st_collections_group_parts_part_api(void) current_part->api.name = parse_str(0); if (is_param(1)) { - check_arg_count(2); - current_part->api.description = parse_str(1); + check_arg_count(2); + current_part->api.description = parse_str(1); } } @@ -16137,6 +16408,7 @@ st_collections_group_physics_world_gravity(void) pc->physics.world.gravity.y = parse_int(1); pc->physics.world.gravity.z = parse_int(2); } + #endif /** @@ -16164,6 +16436,7 @@ st_collections_group_physics_world_rate(void) pc->physics.world.rate = parse_float(0); } + #endif /** @@ -16190,6 +16463,7 @@ st_collections_group_physics_world_depth(void) pc->physics.world.depth = parse_int(0); } + #endif /** @@ -16217,13 +16491,13 @@ st_collections_group_physics_world_z(void) pc->physics.world.z = parse_int(0); } + #endif /** @page edcref -*/ - + */ void edje_cc_handlers_pop_notify(const char *token) @@ -16231,7 +16505,7 @@ edje_cc_handlers_pop_notify(const char *token) if (sequencing && (!strcmp(token, "sequence"))) { current_program = sequencing; - ((Edje_Program_Parser*)sequencing)->can_override = EINA_TRUE; + ((Edje_Program_Parser *)sequencing)->can_override = EINA_TRUE; eina_list_free(current_program_lookups); current_program_lookups = sequencing_lookups; sequencing_lookups = NULL; @@ -16251,39 +16525,39 @@ edje_cc_handlers_pop_notify(const char *token) static void edje_cc_handlers_hierarchy_set(Edje_Part *src) { /* This funcion makes current part rel_1.id, rel_2.id relative to src */ - if (!src->name) - { - ERR("parse error %s:%i. You must set parent name before creating nested part", - file_in, line - 1); - exit(-1); - } - st_collections_group_parts_part_description_rel1_to_set(src->name); - st_collections_group_parts_part_description_rel2_to_set(src->name); + if (!src->name) + { + ERR("parse error %s:%i. You must set parent name before creating nested part", + file_in, line - 1); + exit(-1); + } + st_collections_group_parts_part_description_rel1_to_set(src->name); + st_collections_group_parts_part_description_rel2_to_set(src->name); } static Edje_Part * edje_cc_handlers_hierarchy_parent_get(void) { /* Return the parent part pointer */ - int idx = eina_array_count(part_hierarchy) - 2; - Edje_Cc_Handlers_Hierarchy_Info *info = (idx >= 0) ? - eina_array_data_get(part_hierarchy, idx) : NULL; + int idx = eina_array_count(part_hierarchy) - 2; + Edje_Cc_Handlers_Hierarchy_Info *info = (idx >= 0) ? + eina_array_data_get(part_hierarchy, idx) : NULL; - return (info) ? info->ep : NULL; + return (info) ? info->ep : NULL; } static void edje_cc_handlers_hierarchy_push(Edje_Part *ep, Edje_Part *cp) { /* Remove part from hierarchy stack when finished parsing it */ - Edje_Cc_Handlers_Hierarchy_Info *info = malloc(sizeof(*info)); - info->current_de = current_de; - info->current_part = cp; /* current_part restored on pop */ - info->current_item = current_item; - info->current_desc = current_desc; - info->parent_desc = parent_desc; - info->current_program = current_program; - info->ep = ep; + Edje_Cc_Handlers_Hierarchy_Info *info = malloc(sizeof(*info)); + info->current_de = current_de; + info->current_part = cp; /* current_part restored on pop */ + info->current_item = current_item; + info->current_desc = current_desc; + info->parent_desc = parent_desc; + info->current_program = current_program; + info->ep = ep; - eina_array_push(part_hierarchy, info); + eina_array_push(part_hierarchy, info); } static void @@ -16294,10 +16568,10 @@ edje_cc_handlers_hierarchy_rename(Edje_Part *old, Edje_Part *new) unsigned int i; EINA_ARRAY_ITER_NEXT(part_hierarchy, i, item, iterator) - { - if (item->ep == old) item->ep = new; - if (item->current_part == old) item->current_part = new; - } + { + if (item->ep == old) item->ep = new; + if (item->current_part == old) item->current_part = new; + } } void @@ -16316,44 +16590,44 @@ edje_cc_handlers_hierarchy_free(void) static void edje_cc_handlers_hierarchy_pop(void) { /* Remove part from hierarchy stack when finished parsing it */ - Edje_Cc_Handlers_Hierarchy_Info *info = eina_array_pop(part_hierarchy); + Edje_Cc_Handlers_Hierarchy_Info *info = eina_array_pop(part_hierarchy); - if (current_part) - { - unsigned int i; + if (current_part) + { + unsigned int i; - if (!current_part->name) - { - WRN("Parse error near %s:%i. Unnamed part exists in Group \"%s\".", - file_in, line - 1, current_de->entry); - } + if (!current_part->name) + { + WRN("Parse error near %s:%i. Unnamed part exists in Group \"%s\".", + file_in, line - 1, current_de->entry); + } - for (i = 0; i < current_part->other.desc_count; i++) - { - if (!current_part->other.desc[i]->state.name) - { - ERR("syntax error near %s:%i. Non-default or inherited parts are required to have state names for all descriptions (Group '%s', part '%s' has missing description state names)", - file_in, line - 1, current_de->entry, current_part->name); - exit(-1); - } - } + for (i = 0; i < current_part->other.desc_count; i++) + { + if (!current_part->other.desc[i]->state.name) + { + ERR("syntax error near %s:%i. Non-default or inherited parts are required to have state names for all descriptions (Group '%s', part '%s' has missing description state names)", + file_in, line - 1, current_de->entry, current_part->name); + exit(-1); + } + } - /* auto-add default desc if it was omitted */ - if (!current_part->default_desc) - ob_collections_group_parts_part_description(); - } + /* auto-add default desc if it was omitted */ + if (!current_part->default_desc) + ob_collections_group_parts_part_description(); + } - if (info) - { - current_de = info->current_de; - current_part = info->current_part; - current_item = info->current_item; - current_desc = info->current_desc; - parent_desc = info->parent_desc; - current_program = info->current_program; + if (info) + { + current_de = info->current_de; + current_part = info->current_part; + current_item = info->current_item; + current_desc = info->current_desc; + parent_desc = info->parent_desc; + current_program = info->current_program; - free(info); - } + free(info); + } } Eina_Bool @@ -16393,12 +16667,12 @@ edje_cc_handlers_wildcard(void) { if ((!current_desc->state.name) || strcmp(current_desc->state.name, token)) { - free((char*)current_desc->state.name); + free((char *)current_desc->state.name); current_desc->state.name = token; _part_description_state_update(current_desc); } - stack_pop_quick(EINA_FALSE, current_desc->state.name != token); - return EINA_TRUE; + stack_pop_quick(EINA_FALSE, current_desc->state.name != token); + return EINA_TRUE; } if (!isdigit(token[0])) return EINA_FALSE; @@ -16459,9 +16733,9 @@ edje_cc_handlers_wildcard(void) if (edje_file->styles && (!strcmp(last, "style"))) { if (!had_quote) return EINA_FALSE; - _style_name(token); - stack_pop_quick(EINA_FALSE, EINA_FALSE); - return EINA_TRUE; + _style_name(token); + stack_pop_quick(EINA_FALSE, EINA_FALSE); + return EINA_TRUE; } if (edje_file->color_classes && (!strcmp(last, "color_class"))) { @@ -16486,3 +16760,4 @@ edje_cc_handlers_wildcard(void) } return EINA_FALSE; } + diff --git a/src/bin/edje/edje_cc_mem.c b/src/bin/edje/edje_cc_mem.c index e1fa23953a..9057e4588f 100644 --- a/src/bin/edje/edje_cc_mem.c +++ b/src/bin/edje/edje_cc_mem.c @@ -32,3 +32,4 @@ mem_strdup(const char *s) exit(-1); return NULL; } + diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index 63d5a61dd8..d94c4aa25e 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -27,13 +27,12 @@ #include typedef struct _External_Lookup External_Lookup; -typedef struct _Part_Lookup Part_Lookup; +typedef struct _Part_Lookup Part_Lookup; typedef struct _Part_Lookup_Key Part_Lookup_Key; -typedef struct _Program_Lookup Program_Lookup; -typedef struct _Group_Lookup Group_Lookup; -typedef struct _Image_Lookup Image_Lookup; -typedef struct _Code_Lookup Code_Lookup; - +typedef struct _Program_Lookup Program_Lookup; +typedef struct _Group_Lookup Group_Lookup; +typedef struct _Image_Lookup Image_Lookup; +typedef struct _Code_Lookup Code_Lookup; struct _External_Lookup { @@ -43,15 +42,17 @@ struct _External_Lookup struct _Part_Lookup_Key { Edje_Part_Collection *pc; - - union { + + union + { int *dest; - struct { + struct + { unsigned char **base; - int offset; + int offset; } reallocated; } mem; - char **dest2; + char **dest2; Eina_Bool stable : 1; }; @@ -59,7 +60,7 @@ struct _Part_Lookup_Key struct _Part_Lookup { Part_Lookup_Key key; - char *name; + char *name; }; struct _Program_Lookup @@ -68,39 +69,39 @@ struct _Program_Lookup union { - char *name; + char *name; Edje_Program *ep; } u; - int *dest; + int *dest; - Eina_Bool anonymous : 1; + Eina_Bool anonymous : 1; }; struct _Group_Lookup { - char *name; + char *name; Edje_Part *part; }; struct _String_Lookup { char *name; - int *dest; + int *dest; }; struct _Image_Lookup { - char *name; - int *dest; + char *name; + int *dest; Eina_Bool *set; }; struct _Code_Lookup { - char *ptr; - int len; - int val; + char *ptr; + int len; + int val; Eina_Bool set; }; @@ -109,94 +110,94 @@ typedef struct _Script_Lua_Writer Script_Lua_Writer; struct _Script_Lua_Writer { char *buf; - int size; + int size; }; -typedef struct _Script_Write Script_Write; -typedef struct _Head_Write Head_Write; -typedef struct _Fonts_Write Fonts_Write; -typedef struct _Image_Write Image_Write; -typedef struct _Sound_Write Sound_Write; -typedef struct _Mo_Write Mo_Write; +typedef struct _Script_Write Script_Write; +typedef struct _Head_Write Head_Write; +typedef struct _Fonts_Write Fonts_Write; +typedef struct _Image_Write Image_Write; +typedef struct _Sound_Write Sound_Write; +typedef struct _Mo_Write Mo_Write; typedef struct _Vibration_Write Vibration_Write; -typedef struct _Group_Write Group_Write; -typedef struct _License_Write License_Write; +typedef struct _Group_Write Group_Write; +typedef struct _License_Write License_Write; struct _Script_Write { - Eet_File *ef; - Code *cd; - int i; - Ecore_Exe *exe; - int tmpn_fd, tmpo_fd; + Eet_File *ef; + Code *cd; + int i; + Ecore_Exe *exe; + int tmpn_fd; Eina_Tmpstr *tmpn; Eina_Tmpstr *tmpo; - char *errstr; + char *errstr; }; struct _Head_Write { Eet_File *ef; - char *errstr; + char *errstr; }; struct _Fonts_Write { - Eet_File *ef; + Eet_File *ef; Edje_Font *fn; - char *errstr; + char *errstr; }; struct _Image_Write { - Eet_File *ef; + Eet_File *ef; Edje_Image_Directory_Entry *img; - Evas_Object *im; - Emile_Image_Property prop; - Eina_File *f; - Emile_Image *emi; - int w, h; - int alpha; - unsigned int *data; - char *path; - char *errstr; + Evas_Object *im; + Emile_Image_Property prop; + Eina_File *f; + Emile_Image *emi; + int w, h; + int alpha; + unsigned int *data; + char *path; + char *errstr; }; struct _Sound_Write { - Eet_File *ef; + Eet_File *ef; Edje_Sound_Sample *sample; - int i; + int i; }; struct _Mo_Write { - Eet_File *ef; - Edje_Mo *mo_entry; - char *mo_path; + Eet_File *ef; + Edje_Mo *mo_entry; + char *mo_path; Ecore_Exe *exe; - char *errstr; + char *errstr; }; struct _Vibration_Write { - Eet_File *ef; + Eet_File *ef; Edje_Vibration_Sample *sample; - int i; + int i; }; struct _Group_Write { - Eet_File *ef; + Eet_File *ef; Edje_Part_Collection *pc; - char *errstr; + char *errstr; }; struct _License_Write { - Eet_File *ef; + Eet_File *ef; const char *file; - Eina_Bool master; + Eina_Bool master; }; struct _Image_Unused_Ids @@ -208,8 +209,9 @@ struct _Image_Unused_Ids typedef struct _Image_Unused_Ids Image_Unused_Ids; static int pending_threads = 0; +static int pending_image_threads = 0; -static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len)); +static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char *ptr, int len)); extern Eina_List *po_files; @@ -234,6 +236,14 @@ static Eina_List *model_lookups = NULL; static Eina_Hash *part_dest_lookup = NULL; static Eina_Hash *part_pc_dest_lookup = NULL; +static Eina_Hash *groups_sourced = NULL; + +static Eet_File *cur_ef; +static int image_num; +static Ecore_Evas *buffer_ee; +static int cur_image_entry; + +static void data_write_images(void); void error_and_abort(Eet_File *ef EINA_UNUSED, const char *fmt, ...) @@ -249,6 +259,21 @@ error_and_abort(Eet_File *ef EINA_UNUSED, const char *fmt, ...) exit(-1); } +static void +thread_end(Eina_Bool img) +{ + if (img) + pending_image_threads--; + else + pending_threads--; + if (threads) + { + if ((pending_image_threads + pending_threads) < (int)max_open_files - 2) + data_write_images(); + } + if (pending_threads + pending_image_threads <= 0) ecore_main_loop_quit(); +} + static unsigned int _part_lookup_key_length(const void *key EINA_UNUSED) { @@ -281,23 +306,23 @@ _part_lookup_key_pc_hash(const void *key, int key_length EINA_UNUSED) if (a->stable) { #ifdef EFL64 - return eina_hash_int64((unsigned long long int *) &a->pc, sizeof (void*)) ^ - eina_hash_int64((unsigned long long int *) &a->mem.dest, sizeof (void*)); + return eina_hash_int64((unsigned long long int *)&a->pc, sizeof (void *)) ^ + eina_hash_int64((unsigned long long int *)&a->mem.dest, sizeof (void *)); #else - return eina_hash_int32((uintptr_t *) &a->pc, sizeof (void*)) ^ - eina_hash_int32((uintptr_t *) &a->mem.dest, sizeof (void*)); + return eina_hash_int32((uintptr_t *)&a->pc, sizeof (void *)) ^ + eina_hash_int32((uintptr_t *)&a->mem.dest, sizeof (void *)); #endif } else { #ifdef EFL64 - return eina_hash_int64((unsigned long long int *) &a->pc, sizeof (void*)) ^ - eina_hash_int64((unsigned long long int *) &a->mem.reallocated.base, sizeof (void*)) ^ - eina_hash_int32((unsigned int *) &a->mem.reallocated.offset, sizeof (int)); + return eina_hash_int64((unsigned long long int *)&a->pc, sizeof (void *)) ^ + eina_hash_int64((unsigned long long int *)&a->mem.reallocated.base, sizeof (void *)) ^ + eina_hash_int32((unsigned int *)&a->mem.reallocated.offset, sizeof (int)); #else - return eina_hash_int32((uintptr_t *) &a->pc, sizeof (void*)) ^ - eina_hash_int32((uintptr_t *) &a->mem.reallocated.base, sizeof (void*)) ^ - eina_hash_int32((unsigned int *) &a->mem.reallocated.offset, sizeof (int)); + return eina_hash_int32((uintptr_t *)&a->pc, sizeof (void *)) ^ + eina_hash_int32((uintptr_t *)&a->mem.reallocated.base, sizeof (void *)) ^ + eina_hash_int32((unsigned int *)&a->mem.reallocated.offset, sizeof (int)); #endif } } @@ -325,19 +350,19 @@ _part_lookup_key_hash(const void *key, int key_length EINA_UNUSED) if (a->stable) { #ifdef EFL64 - return eina_hash_int64((unsigned long long int *) &a->mem.dest, sizeof (void*)); + return eina_hash_int64((unsigned long long int *)&a->mem.dest, sizeof (void *)); #else - return eina_hash_int32((uintptr_t *) &a->mem.dest, sizeof (void*)); + return eina_hash_int32((uintptr_t *)&a->mem.dest, sizeof (void *)); #endif } else { #ifdef EFL64 - return eina_hash_int64((unsigned long long int *) &a->mem.reallocated.base, sizeof (void*)) ^ - eina_hash_int32((unsigned int *) &a->mem.reallocated.offset, sizeof (int)); + return eina_hash_int64((unsigned long long int *)&a->mem.reallocated.base, sizeof (void *)) ^ + eina_hash_int32((unsigned int *)&a->mem.reallocated.offset, sizeof (int)); #else - return eina_hash_int32((uintptr_t *) &a->mem.reallocated.base, sizeof (void*)) ^ - eina_hash_int32((unsigned int *) &a->mem.reallocated.offset, sizeof (int)); + return eina_hash_int32((uintptr_t *)&a->mem.reallocated.base, sizeof (void *)) ^ + eina_hash_int32((unsigned int *)&a->mem.reallocated.offset, sizeof (int)); #endif } } @@ -378,16 +403,16 @@ check_image_part_desc(Edje_Part_Collection *pc, Edje_Part *ep, if (epd->image.id == -1 && epd->common.visible) WRN("Collection %s(%i): image attributes missing for " - "part \"%s\", description \"%s\" %f", - pc->part, pc->id, ep->name, epd->common.state.name, epd->common.state.value); + "part \"%s\", description \"%s\" %f", + pc->part, pc->id, ep->name, epd->common.state.name, epd->common.state.value); for (i = 0; i < epd->image.tweens_count; ++i) { - if (epd->image.tweens[i]->id == -1) - error_and_abort(ef, "Collection %i: tween image id missing for " - "part \"%s\", description \"%s\" %f", - pc->id, ep->name, epd->common.state.name, epd->common.state.value); - } + if (epd->image.tweens[i]->id == -1) + error_and_abort(ef, "Collection %i: tween image id missing for " + "part \"%s\", description \"%s\" %f", + pc->id, ep->name, epd->common.state.name, epd->common.state.value); + } } static Edje_Part_Collection * @@ -453,7 +478,6 @@ check_text_part_desc(Edje_Part_Collection *pc, Edje_Part *ep, if (epd->text.id_text_source != -1) { - if ((pc->parts[epd->text.id_text_source]->type == EDJE_PART_TYPE_TEXT) || (pc->parts[epd->text.id_text_source]->type == EDJE_PART_TYPE_TEXTBLOCK)) return; @@ -468,7 +492,7 @@ check_text_part_desc(Edje_Part_Collection *pc, Edje_Part *ep, error_and_abort(ef, "Collection \"%s\" Part \"%s\" Description \"%s\" [%.3f]: " "text.text_source point to a non TEXT part \"%s\"!", - pc->part, ep->name,epd->common.state.name, + pc->part, ep->name, epd->common.state.name, epd->common.state.value, pc->parts[epd->text.id_text_source]->name); } } @@ -503,9 +527,9 @@ check_source_links(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef, Eina_L { if (data == pc_source->parts[i]->source) { - error_and_abort(ef,"Recursive loop group '%s' " - "already included inside " - "part '%s' of group '%s'", + error_and_abort(ef, "Recursive loop group '%s' " + "already included inside " + "part '%s' of group '%s'", data, pc_source->parts[i]->name, pc->part); } @@ -525,14 +549,14 @@ check_packed_items(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef) for (i = 0; i < ep->items_count; ++i) { - if (ep->items[i]->type == EDJE_PART_TYPE_GROUP && !ep->items[i]->source) - error_and_abort(ef, "Collection %i: missing source on packed item " - "of type GROUP in part \"%s\"", - pc->id, ep->name); - if (ep->type == EDJE_PART_TYPE_TABLE && (ep->items[i]->col < 0 || ep->items[i]->row < 0)) - error_and_abort(ef, "Collection %i: missing col/row on packed item " - "for part \"%s\" of type TABLE", - pc->id, ep->name); + if (ep->items[i]->type == EDJE_PART_TYPE_GROUP && !ep->items[i]->source) + error_and_abort(ef, "Collection %i: missing source on packed item " + "of type GROUP in part \"%s\"", + pc->id, ep->name); + if (ep->type == EDJE_PART_TYPE_TABLE && (ep->items[i]->col < 0 || ep->items[i]->row < 0)) + error_and_abort(ef, "Collection %i: missing col/row on packed item " + "for part \"%s\" of type TABLE", + pc->id, ep->name); } } @@ -564,9 +588,39 @@ check_state(Edje_Part_Collection *pc, Edje_Part *ep, Edje_Part_Description_Commo check_nameless_state(pc, ep, ed, ef); } +static void +_part_namespace_verify(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef, Eina_Bool ns_required) +{ + char buf[1024], *p; + size_t len; + Edje_Part_Collection_Directory_Entry *de; + + if (!namespace_verify) return; + /* this is from a group used as a source, either GROUP or TEXTBLOCK + * namespacing not required + */ + if (eina_hash_find(groups_sourced, pc->part)) return; + + de = eina_hash_find(edje_collections_lookup, &pc->id); + + p = strchr(de->entry, '/'); + if (!p) return; + + len = p - de->entry; + if (eina_strlcpy(buf, de->entry, len + 1) >= sizeof(buf)) return; + + p = strchr(ep->name, '.'); + /* ignore part types without required namespacing or without '.' in name */ + if ((!ns_required) && (!p)) return; + + if (strncmp(ep->name, buf, len)) + error_and_abort(ef, "Part '%s' from group %s is not properly namespaced (should begin with '%s.')!", ep->name, de->entry, buf); +} + static void check_part(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef) { + Edje_Part_Collection_Parser *pcp = (Edje_Part_Collection_Parser*)pc; unsigned int i; Eina_List *group_path = NULL; /* FIXME: check image set and sort them. */ @@ -580,10 +634,10 @@ check_part(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef) if (ep->type == EDJE_PART_TYPE_IMAGE) { - check_image_part_desc(pc, ep, (Edje_Part_Description_Image*) ep->default_desc, ef); + check_image_part_desc(pc, ep, (Edje_Part_Description_Image *)ep->default_desc, ef); for (i = 0; i < ep->other.desc_count; ++i) - check_image_part_desc(pc, ep, (Edje_Part_Description_Image*) ep->other.desc[i], ef); + check_image_part_desc(pc, ep, (Edje_Part_Description_Image *)ep->other.desc[i], ef); } else if ((ep->type == EDJE_PART_TYPE_BOX) || (ep->type == EDJE_PART_TYPE_TABLE)) @@ -592,12 +646,29 @@ check_part(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef) check_source_links(pc, ep, ef, group_path); else if (ep->type == EDJE_PART_TYPE_TEXT) { - check_text_part_desc(pc, ep, (Edje_Part_Description_Text*) ep->default_desc, ef); + check_text_part_desc(pc, ep, (Edje_Part_Description_Text *)ep->default_desc, ef); for (i = 0; i < ep->other.desc_count; ++i) - check_text_part_desc(pc, ep, (Edje_Part_Description_Text*) ep->other.desc[i], ef); + check_text_part_desc(pc, ep, (Edje_Part_Description_Text *)ep->other.desc[i], ef); } + if (!pcp->skip_namespace_validation) + { + switch (ep->type) + { + case EDJE_PART_TYPE_BOX: + case EDJE_PART_TYPE_TABLE: + case EDJE_PART_TYPE_SWALLOW: + _part_namespace_verify(pc, ep, ef, 1); + break; + case EDJE_PART_TYPE_TEXT: + case EDJE_PART_TYPE_TEXTBLOCK: + case EDJE_PART_TYPE_SPACER: + _part_namespace_verify(pc, ep, ef, 0); + break; + default: break; + } + } /* FIXME: When smart masks are supported, remove this check */ if (ep->clip_to_id != -1 && @@ -608,9 +679,37 @@ check_part(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef) pc->id, pc->parts[ep->clip_to_id]->name); } +static void +_program_signal_namespace_verify(Edje_Part_Collection *pc, Eet_File *ef, const char *sig, const char *src) +{ + char buf[1024], *p; + size_t len; + Edje_Part_Collection_Directory_Entry *de; + + if (!namespace_verify) return; + /* this is from a group used as a source, either GROUP or TEXTBLOCK + * namespacing not required + */ + if (eina_hash_find(groups_sourced, pc->part)) return; + + /* ignore propagation to GROUP parts */ + if (strchr(sig, ':')) return; + + de = eina_hash_find(edje_collections_lookup, &pc->id); + + p = strchr(de->entry, '/'); + if (!p) return; + len = p - de->entry; + if (eina_strlcpy(buf, de->entry, len + 1) >= sizeof(buf)) return; + + if (strncmp(sig, buf, len)) + error_and_abort(ef, "SIGNAL_EMIT (%s:%s) does not match group namespace (%s)!", sig, src, de->entry); +} + static void check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef) { + Edje_Part_Collection_Parser *pcp = (Edje_Part_Collection_Parser*)pc; switch (ep->action) { case EDJE_ACTION_TYPE_STATE_SET: @@ -618,12 +717,13 @@ check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef) case EDJE_ACTION_TYPE_DRAG_VAL_SET: case EDJE_ACTION_TYPE_DRAG_VAL_STEP: case EDJE_ACTION_TYPE_DRAG_VAL_PAGE: - if (!ep->targets) - error_and_abort(ef, "Collection %i: target missing in program " - "\"%s\"", pc->id, ep->name); - break; + if (!ep->targets) + error_and_abort(ef, "Collection %i: target missing in program " + "\"%s\"", pc->id, ep->name); + break; + default: - break; + break; } Edje_Program_Target *et; Eina_List *l; @@ -636,6 +736,12 @@ check_program(Edje_Part_Collection *pc, Edje_Program *ep, Eet_File *ef) camera_id = i; } + if ((!ep->targets) && (ep->action == EDJE_ACTION_TYPE_SIGNAL_EMIT)) + { + if (!pcp->skip_namespace_validation) + _program_signal_namespace_verify(pc, ef, ep->state, ep->state2); + } + EINA_LIST_FOREACH(ep->targets, l, et) { if (((ep->action == EDJE_ACTION_TYPE_STATE_SET) || @@ -660,22 +766,22 @@ _alias_clean(Edje_Part_Collection_Directory_Entry *ce) { if (ce) { - ce->count.RECTANGLE = 0; - ce->count.TEXT = 0; - ce->count.IMAGE = 0; - ce->count.SWALLOW = 0; - ce->count.TEXTBLOCK = 0; - ce->count.GROUP = 0; - ce->count.BOX = 0; - ce->count.TABLE = 0; - ce->count.EXTERNAL = 0; - ce->count.PROXY = 0; - ce->count.MESH_NODE = 0; - ce->count.LIGHT = 0; - ce->count.CAMERA = 0; - ce->count.SPACER = 0; - ce->count.VECTOR = 0; - ce->count.part = 0; + ce->count.RECTANGLE = 0; + ce->count.TEXT = 0; + ce->count.IMAGE = 0; + ce->count.SWALLOW = 0; + ce->count.TEXTBLOCK = 0; + ce->count.GROUP = 0; + ce->count.BOX = 0; + ce->count.TABLE = 0; + ce->count.EXTERNAL = 0; + ce->count.PROXY = 0; + ce->count.MESH_NODE = 0; + ce->count.LIGHT = 0; + ce->count.CAMERA = 0; + ce->count.SPACER = 0; + ce->count.VECTOR = 0; + ce->count.part = 0; } } @@ -688,15 +794,15 @@ data_thread_head(void *data, Ecore_Thread *thread EINA_UNUSED) if (edje_file) { - if (edje_file->collection) - { - Edje_Part_Collection_Directory_Entry *ce; + if (edje_file->collection) + { + Edje_Part_Collection_Directory_Entry *ce; - EINA_LIST_FREE(aliases, ce) - { - Edje_Part_Collection_Directory_Entry *sce; + EINA_LIST_FREE(aliases, ce) + { + Edje_Part_Collection_Directory_Entry *sce; - if (!ce->entry) + if (!ce->entry) { snprintf(buf, sizeof(buf), "Collection %i: name missing.", ce->id); @@ -704,12 +810,12 @@ data_thread_head(void *data, Ecore_Thread *thread EINA_UNUSED) return; } - sce = eina_hash_find(edje_collections_lookup, &ce->id); - if (sce) + sce = eina_hash_find(edje_collections_lookup, &ce->id); + if (sce) { memcpy(&ce->count, &sce->count, sizeof (ce->count)); } - else + else { snprintf(buf, sizeof(buf), "Collection %s (%i) can't find an correct alias.", @@ -719,12 +825,12 @@ data_thread_head(void *data, Ecore_Thread *thread EINA_UNUSED) } _alias_clean(ce); - eina_hash_direct_add(edje_file->collection, ce->entry, ce); - } - } - bytes = eet_data_write(hw->ef, edd_edje_file, "edje/file", edje_file, + eina_hash_direct_add(edje_file->collection, ce->entry, ce); + } + } + bytes = eet_data_write(hw->ef, edd_edje_file, "edje/file", edje_file, compress_mode); - if (bytes <= 0) + if (bytes <= 0) { snprintf(buf, sizeof(buf), "Unable to write \"edje_file\" entry to \"%s\"", @@ -743,20 +849,19 @@ data_thread_head_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Head_Write *hw = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (hw->errstr) { error_and_abort(hw->ef, hw->errstr); free(hw->errstr); } free(hw); + thread_end(0); } static void data_write_header(Eet_File *ef) { - Head_Write *hw; + Head_Write *hw; hw = calloc(1, sizeof(Head_Write)); hw->ef = ef; @@ -785,7 +890,7 @@ data_thread_fonts(void *data, Ecore_Thread *thread EINA_UNUSED) f = eina_file_open(fc->fn->file, 0); if (f) { - using_file(fc->fn->file, 'F'); + using_file(fc->fn->file, 'F'); m = eina_file_map_all(f, EINA_FILE_SEQUENTIAL); } else @@ -798,7 +903,7 @@ data_thread_fonts(void *data, Ecore_Thread *thread EINA_UNUSED) f = eina_file_open(buf, 0); if (f) { - using_file(buf, 'F'); + using_file(buf, 'F'); m = eina_file_map_all(f, EINA_FILE_SEQUENTIAL); if (m) break; eina_file_close(f); @@ -843,14 +948,13 @@ static void data_thread_fonts_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Fonts_Write *fc = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (fc->errstr) { error_and_abort(fc->ef, fc->errstr); free(fc->errstr); } free(fc); + thread_end(0); } static void @@ -891,82 +995,82 @@ error_and_abort_image_load_error(Eet_File *ef, const char *file, int error) if (error == EVAS_LOAD_ERROR_DOES_NOT_EXIST) { - snprintf - (hint, sizeof(hint), - " Check if path to file \"%s\" is correct " - "(both directory and file name).", - file); + snprintf + (hint, sizeof(hint), + " Check if path to file \"%s\" is correct " + "(both directory and file name).", + file); } else if (error == EVAS_LOAD_ERROR_CORRUPT_FILE) { - snprintf - (hint, sizeof(hint), - " Check if file \"%s\" is consistent.", - file); + snprintf + (hint, sizeof(hint), + " Check if file \"%s\" is consistent.", + file); } else if (error == EVAS_LOAD_ERROR_UNKNOWN_FORMAT) { - const char *ext = strrchr(file, '.'); - const char **itr, *known_loaders[] = { - /* list from evas_image_load.c */ - "png", - "jpg", - "jpeg", - "jfif", - "eet", - "edj", - "eap", - "edb", - "xpm", - "tiff", - "tif", - "svg", - "svgz", - "gif", - "pbm", - "pgm", - "ppm", - "pnm", - "bmp", - "ico", - "tga", - "tgv", - NULL - }; + const char *ext = strrchr(file, '.'); + const char **itr, *known_loaders[] = { + /* list from evas_image_load.c */ + "png", + "jpg", + "jpeg", + "jfif", + "eet", + "edj", + "eap", + "edb", + "xpm", + "tiff", + "tif", + "svg", + "svgz", + "gif", + "pbm", + "pgm", + "ppm", + "pnm", + "bmp", + "ico", + "tga", + "tgv", + NULL + }; - if (!ext) - { - snprintf - (hint, sizeof(hint), - " File \"%s\" does not have an extension, " - "maybe it should?", - file); - goto show_err; - } + if (!ext) + { + snprintf + (hint, sizeof(hint), + " File \"%s\" does not have an extension, " + "maybe it should?", + file); + goto show_err; + } - ext++; - for (itr = known_loaders; *itr; itr++) - { - if (strcasecmp(ext, *itr) == 0) - { - snprintf - (hint, sizeof(hint), - " Check if Evas was compiled with %s module enabled and " - "all required dependencies exist.", - ext); - goto show_err; - } - } + ext++; + for (itr = known_loaders; *itr; itr++) + { + if (strcasecmp(ext, *itr) == 0) + { + snprintf + (hint, sizeof(hint), + " Check if Evas was compiled with %s module enabled and " + "all required dependencies exist.", + ext); + goto show_err; + } + } - snprintf(hint, sizeof(hint), - " Check if Evas supports loading files of type \"%s\" (%s) " - "and this module was compiled and all its dependencies exist.", - ext, file); + snprintf(hint, sizeof(hint), + " Check if Evas supports loading files of type \"%s\" (%s) " + "and this module was compiled and all its dependencies exist.", + ext, file); } - show_err: +show_err: error_and_abort (ef, "Unable to load image \"%s\" used by file \"%s\": %s.%s", - file, file_out, errmsg, hint); + file, file_out, errmsg, hint); } static void @@ -987,27 +1091,27 @@ data_thread_image(void *data, Ecore_Thread *thread EINA_UNUSED) qual = 80; if ((iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) && (iw->img->source_param == 0)) - mode = 0; /* RAW */ + mode = 0; /* RAW */ else if ((iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) && (iw->img->source_param == 1)) - mode = 1; /* COMPRESS */ + mode = 1; /* COMPRESS */ else if (iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY_ETC1) - mode = 3; /* LOSSY_ETC1 */ + mode = 3; /* LOSSY_ETC1 */ else if (iw->img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY_ETC2) - mode = 4; /* LOSSY_ETC2 */ + mode = 4; /* LOSSY_ETC2 */ else - mode = 2; /* LOSSY */ + mode = 2; /* LOSSY */ if ((mode == 0) && (no_raw)) { mode = 1; /* promote compression */ iw->img->source_param = 95; } - if ((mode == 4) && (no_etc2)) mode = 2; /* demote etc2 to jpeg */ - if ((mode == 3) && (no_etc1)) mode = 2; /* demote etc1 to jpeg */ - if ((mode == 2) && (no_lossy)) mode = 1; /* demote compression */ + if ((mode == 4) && (no_etc2)) mode = 2; /* demote etc2 to jpeg */ + if ((mode == 3) && (no_etc1)) mode = 2; /* demote etc1 to jpeg */ + if ((mode == 2) && (no_lossy)) mode = 1; /* demote compression */ if ((mode == 1) && (no_comp)) { - if (no_lossy) mode = 0; /* demote compression */ + if (no_lossy) mode = 0; /* demote compression */ else if (no_raw) { iw->img->source_param = 90; @@ -1023,7 +1127,7 @@ data_thread_image(void *data, Ecore_Thread *thread EINA_UNUSED) } if (iw->alpha) { - start = (unsigned int *) iw->data; + start = (unsigned int *)iw->data; end = start + (iw->w * iw->h); while (start < end) { @@ -1100,7 +1204,7 @@ data_thread_image(void *data, Ecore_Thread *thread EINA_UNUSED) bytes, (bytes + 512) / 1024, buf, iw->img->entry, 100 - (100 * (double)bytes) / ((double)(iw->w * iw->h * 4)), 100 - (100 * (double)bytes) / ((double)(st.st_size)) - ); + ); } } } @@ -1110,8 +1214,6 @@ data_thread_image_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Image_Write *iw = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (iw->errstr) { error_and_abort(iw->ef, iw->errstr); @@ -1120,6 +1222,7 @@ data_thread_image_end(void *data, Ecore_Thread *thread EINA_UNUSED) free(iw->path); evas_object_del(iw->im); free(iw); + thread_end(1); } static void @@ -1157,8 +1260,6 @@ tgv_file_thread_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Image_Write *iw = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (iw->errstr) { error_and_abort(iw->ef, iw->errstr); @@ -1169,10 +1270,11 @@ tgv_file_thread_end(void *data, Ecore_Thread *thread EINA_UNUSED) eina_file_map_free(iw->f, iw->data); eina_file_close(iw->f); free(iw); + thread_end(1); } static Eina_Bool -tgv_file_check_and_add(Eet_File *ef, Edje_Image_Directory_Entry *img, int *image_num) +tgv_file_check_and_add(Eet_File *ef, Edje_Image_Directory_Entry *img) { Emile_Image_Load_Error err; Emile_Image *emi = NULL; @@ -1212,7 +1314,7 @@ tgv_file_check_and_add(Eet_File *ef, Edje_Image_Directory_Entry *img, int *image iw->ef = ef; iw->img = img; iw->emi = emi; - iw->data = (unsigned int *) data; + iw->data = (unsigned int *)data; iw->w = iw->prop.w; iw->h = iw->prop.h; @@ -1238,10 +1340,10 @@ tgv_file_check_and_add(Eet_File *ef, Edje_Image_Directory_Entry *img, int *image goto on_error; } - *image_num += 1; + image_num += 1; iw->path = strdup(img->entry); - pending_threads++; + pending_image_threads++; if (threads) ecore_thread_run(tgv_file_thread, tgv_file_thread_end, NULL, iw); else @@ -1270,17 +1372,16 @@ data_write_vectors(Eet_File *ef, int *vector_num) Edje_Vector_Directory_Entry *vector; Eina_Strbuf *buf; Eina_Bool found = EINA_FALSE; - Ecore_Evas *ee; Evas *evas; Evas_Object *vg; if (!((edje_file) && (edje_file->image_dir))) return; - ecore_evas_init(); - ee = ecore_evas_buffer_new(1, 1); - if (!ee) + if (!buffer_ee) + buffer_ee = ecore_evas_buffer_new(1, 1); + if (!buffer_ee) error_and_abort(ef, "Cannot create buffer engine canvas for image load."); - evas = ecore_evas_get(ee); + evas = ecore_evas_get(buffer_ee); vg = evas_object_vg_add(evas); buf = eina_strbuf_new(); for (i = 0; i < edje_file->image_dir->vectors_count; i++) @@ -1317,22 +1418,43 @@ data_write_vectors(Eet_File *ef, int *vector_num) } static void -data_write_images(Eet_File *ef, int *image_num) +data_image_sets_init(void) { int i; - Ecore_Evas *ee; + + if (!((edje_file) && (edje_file->image_dir))) return; + for (i = 0; i < (int)edje_file->image_dir->sets_count; i++) + { + Edje_Image_Directory_Set *set; + Edje_Image_Directory_Set_Entry *set_entry; + Edje_Image_Directory_Entry *img; + Eina_List *ll = NULL; + + set = edje_file->image_dir->sets + i; + if (!set->entries) continue; + EINA_LIST_FOREACH(set->entries, ll, set_entry) + { + img = &edje_file->image_dir->entries[set_entry->id]; + set_entry->name = img->entry; + } + } +} + +static void +data_write_images(void) +{ Evas *evas; const char *ext = NULL; if (!((edje_file) && (edje_file->image_dir))) return; - ecore_evas_init(); - ee = ecore_evas_buffer_new(1, 1); - if (!ee) - error_and_abort(ef, "Cannot create buffer engine canvas for image load."); - evas = ecore_evas_get(ee); + if (!buffer_ee) + buffer_ee = ecore_evas_buffer_new(1, 1); + if (!buffer_ee) + error_and_abort(cur_ef, "Cannot create buffer engine canvas for image load."); + evas = ecore_evas_get(buffer_ee); - for (i = 0; i < (int)edje_file->image_dir->entries_count; i++) + for (; cur_image_entry < (int)edje_file->image_dir->entries_count; cur_image_entry++) { Edje_Image_Directory_Entry *img; Evas_Object *im; @@ -1341,8 +1463,8 @@ data_write_images(Eet_File *ef, int *image_num) int load_err = EVAS_LOAD_ERROR_NONE; Image_Write *iw; - img = &edje_file->image_dir->entries[i]; - if ((img->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) || !img->entry) + img = &edje_file->image_dir->entries[cur_image_entry]; + if ((img->source_type >= EDJE_IMAGE_SOURCE_TYPE_USER) || !img->entry) continue; if (img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY_ETC1 || @@ -1351,7 +1473,7 @@ data_write_images(Eet_File *ef, int *image_num) ext = strrchr(img->entry, '.'); if (ext && !strcasecmp(ext, ".tgv")) { - if (tgv_file_check_and_add(ef, img, image_num)) + if (tgv_file_check_and_add(cur_ef, img)) { DBG("Directly copying data from TGV file into EDJ"); continue; @@ -1362,7 +1484,7 @@ data_write_images(Eet_File *ef, int *image_num) } iw = calloc(1, sizeof(Image_Write)); - iw->ef = ef; + iw->ef = cur_ef; iw->img = img; iw->im = im = evas_object_image_add(evas); if (threads) @@ -1379,9 +1501,9 @@ data_write_images(Eet_File *ef, int *image_num) load_err = evas_object_image_load_error_get(im); if (load_err == EVAS_LOAD_ERROR_NONE) { - *image_num += 1; + image_num += 1; iw->path = strdup(buf); - pending_threads++; + pending_image_threads++; if (threads) evas_object_image_preload(im, 0); using_file(buf, 'I'); @@ -1396,9 +1518,9 @@ data_write_images(Eet_File *ef, int *image_num) load_err = evas_object_image_load_error_get(im); if (load_err == EVAS_LOAD_ERROR_NONE) { - *image_num += 1; + image_num += 1; iw->path = strdup(img->entry); - pending_threads++; + pending_image_threads++; if (threads) evas_object_image_preload(im, 0); using_file(img->entry, 'I'); @@ -1408,11 +1530,12 @@ data_write_images(Eet_File *ef, int *image_num) else { free(iw); - error_and_abort_image_load_error(ef, img->entry, load_err); + error_and_abort_image_load_error(cur_ef, img->entry, load_err); exit(1); // ensure static analysis tools know we exit } } - if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) + + if (img->source_type < EDJE_IMAGE_SOURCE_TYPE_USER) { ext = strrchr(img->entry, '.'); if (ext && (!strcasecmp(ext, ".svg") || !strcasecmp(ext, ".svgz"))) @@ -1425,21 +1548,9 @@ data_write_images(Eet_File *ef, int *image_num) img->entry = tmp; } } - } - - for (i = 0; i < (int)edje_file->image_dir->sets_count; i++) - { - Edje_Image_Directory_Set *set; - Edje_Image_Directory_Set_Entry *set_entry; - Edje_Image_Directory_Entry *img; - Eina_List *ll = NULL; - - set = edje_file->image_dir->sets + i; - if (!set->entries) continue; - EINA_LIST_FOREACH(set->entries, ll, set_entry) + if (threads) { - img = &edje_file->image_dir->entries[set_entry->id]; - set_entry->name = img->entry; + if (pending_threads + pending_image_threads > (int)max_open_files - 2) break; } } } @@ -1467,7 +1578,6 @@ data_check_models(Eet_File *ef EINA_UNUSED, int *model_num EINA_UNUSED) snprintf(buf, sizeof(buf), "%s/%s", s, model->entry); file_exist = file_exist || ecore_file_exists(buf); - } if (!file_exist) { @@ -1564,9 +1674,8 @@ static void data_thread_sounds_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Sound_Write *sw = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); free(sw); + thread_end(0); } static void @@ -1629,51 +1738,49 @@ data_thread_mo(void *data, Ecore_Thread *thread EINA_UNUSED) if (!f) { - snprintf(buf, sizeof(buf), "Unable to load mo data of: %s", mo_path); - ERR("%s", buf); - mw->errstr = strdup(buf); - exit(-1); + snprintf(buf, sizeof(buf), "Unable to load mo data of: %s", mo_path); + ERR("%s", buf); + mw->errstr = strdup(buf); + exit(-1); } snprintf(moid_str, sizeof(moid_str), "edje/mo/%i/%s/LC_MESSAGES", mw->mo_entry->id, mw->mo_entry->locale); m = eina_file_map_all(f, EINA_FILE_WILLNEED); if (m) { - bytes = eet_write(mw->ef, moid_str, m, eina_file_size_get(f), EET_COMPRESSION_NONE); - if (eina_file_map_faulted(f, m)) - { - snprintf(buf, sizeof(buf), "File access error when reading '%s'", - eina_file_filename_get(f)); - ERR("%s", buf); - mw->errstr = strdup(buf); - eina_file_close(f); - exit(-1); - } - eina_file_map_free(f, m); + bytes = eet_write(mw->ef, moid_str, m, eina_file_size_get(f), EET_COMPRESSION_NONE); + if (eina_file_map_faulted(f, m)) + { + snprintf(buf, sizeof(buf), "File access error when reading '%s'", + eina_file_filename_get(f)); + ERR("%s", buf); + mw->errstr = strdup(buf); + eina_file_close(f); + exit(-1); + } + eina_file_map_free(f, m); } eina_file_close(f); if (mw->mo_path) ecore_file_remove(mo_path); INF("Wrote %9i bytes (%4iKb) for \"%s\" %s mo entry \"%s\"", - bytes, (bytes + 512) / 1024, moid_str, "RAW PCM", mw->mo_entry->locale); - + bytes, (bytes + 512) / 1024, moid_str, "RAW PCM", mw->mo_entry->locale); } static void data_thread_mo_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Mo_Write *mw = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (mw->errstr) { - error_and_abort(mw->ef, mw->errstr); - free(mw->errstr); + error_and_abort(mw->ef, mw->errstr); + free(mw->errstr); } if (mw->mo_path) free(mw->mo_path); free(mw); + thread_end(0); } Eina_Bool @@ -1700,7 +1807,7 @@ _exe_del_cb(void *data EINA_UNUSED, int evtype EINA_UNUSED, void *evinfo) } else return ECORE_CALLBACK_RENEW; - if (pending_threads <= 0) ecore_main_loop_quit(); + if (pending_threads + pending_image_threads <= 0) ecore_main_loop_quit(); return ECORE_CALLBACK_CANCEL; } @@ -1828,9 +1935,8 @@ static void data_thread_vibrations_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Vibration_Write *sw = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); free(sw); + thread_end(0); } static void @@ -1861,6 +1967,7 @@ data_write_vibrations(Eet_File *ef, int *num) } } } + static void check_groups(Eet_File *ef) { @@ -1870,20 +1977,20 @@ check_groups(Eet_File *ef) /* sanity checks for parts and programs */ EINA_LIST_FOREACH(edje_collections, l, pc) { - unsigned int i; + unsigned int i; - for (i = 0; i < pc->parts_count; ++i) - check_part(pc, pc->parts[i], ef); + for (i = 0; i < pc->parts_count; ++i) + check_part(pc, pc->parts[i], ef); -#define CHECK_PROGRAM(Type, Pc, It) \ - for (It = 0; It < Pc->programs.Type ## _count; ++It) \ - check_program(Pc, Pc->programs.Type[i], ef); \ +#define CHECK_PROGRAM(Type, Pc, It) \ + for (It = 0; It < Pc->programs.Type ## _count; ++It) \ + check_program(Pc, Pc->programs.Type[i], ef); \ - CHECK_PROGRAM(fnmatch, pc, i); - CHECK_PROGRAM(strcmp, pc, i); - CHECK_PROGRAM(strncmp, pc, i); - CHECK_PROGRAM(strrncmp, pc, i); - CHECK_PROGRAM(nocmp, pc, i); + CHECK_PROGRAM(fnmatch, pc, i); + CHECK_PROGRAM(strcmp, pc, i); + CHECK_PROGRAM(strncmp, pc, i); + CHECK_PROGRAM(strrncmp, pc, i); + CHECK_PROGRAM(nocmp, pc, i); } } @@ -1903,14 +2010,13 @@ static void data_thread_group_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Group_Write *gw = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (gw->errstr) { error_and_abort(gw->ef, gw->errstr); free(gw->errstr); } free(gw); + thread_end(0); } static void @@ -1949,7 +2055,7 @@ create_script_file(Eet_File *ef, const char *filename, const Code *cd, int fd) FILE *f = fdopen(fd, "wb"); if (!f) error_and_abort(ef, "Unable to open temp file \"%s\" for script " - "compilation.", filename); + "compilation.", filename); Eina_List *ll; Code_Program *cp; @@ -1959,63 +2065,65 @@ create_script_file(Eet_File *ef, const char *filename, const Code *cd, int fd) if (cd->shared) { - while (ln < (cd->l1 - 1)) - { - fprintf(f, " \n"); - ln++; - } - { - char *sp; - int hash = 0; - int newlined = 0; + while (ln < (cd->l1 - 1)) + { + fprintf(f, " \n"); + ln++; + } + { + char *sp; + int hash = 0; + int newlined = 0; - for (sp = cd->shared; *sp; sp++) - { - if ((sp[0] == '#') && (newlined)) - { - hash = 1; - } - newlined = 0; - if (sp[0] == '\n') newlined = 1; - if (!hash) fputc(sp[0], f); - else if (sp[0] == '\n') hash = 0; - } - fputc('\n', f); - } - ln += cd->l2 - cd->l1 + 1; + for (sp = cd->shared; *sp; sp++) + { + if ((sp[0] == '#') && (newlined)) + { + hash = 1; + } + newlined = 0; + if (sp[0] == '\n') newlined = 1; + if (!hash) fputc(sp[0], f); + else if (sp[0] == '\n') + hash = 0; + } + fputc('\n', f); + } + ln += cd->l2 - cd->l1 + 1; } EINA_LIST_FOREACH(cd->programs, ll, cp) { - if (cp->script) - { - while (ln < (cp->l1 - 1)) - { - fprintf(f, " \n"); - ln++; - } - /* FIXME: this prototype needs to be */ - /* formalised and set in stone */ - fprintf(f, "public _p%i(sig[], src[]) {", cp->id); - { - char *sp; - int hash = 0; - int newlined = 0; + if (cp->script) + { + while (ln < (cp->l1 - 1)) + { + fprintf(f, " \n"); + ln++; + } + /* FIXME: this prototype needs to be */ + /* formalised and set in stone */ + fprintf(f, "public _p%i(sig[], src[]) {", cp->id); + { + char *sp; + int hash = 0; + int newlined = 0; - for (sp = cp->script; *sp; sp++) - { - if ((sp[0] == '#') && (newlined)) - { - hash = 1; - } - newlined = 0; - if (sp[0] == '\n') newlined = 1; - if (!hash) fputc(sp[0], f); - else if (sp[0] == '\n') hash = 0; - } - } - fprintf(f, "}\n"); - ln += cp->l2 - cp->l1 + 1; - } + for (sp = cp->script; *sp; sp++) + { + if ((sp[0] == '#') && (newlined)) + { + hash = 1; + } + newlined = 0; + if (sp[0] == '\n') newlined = 1; + if (!hash) fputc(sp[0], f); + else if (sp[0] == '\n') + hash = 0; + } + } + fprintf(f, "}\n"); + ln += cp->l2 - cp->l1 + 1; + } } fclose(f); @@ -2029,7 +2137,7 @@ data_thread_script(void *data, Ecore_Thread *thread EINA_UNUSED) int size; char buf[PATH_MAX]; - f = fdopen(sc->tmpo_fd, "rb"); + f = fopen(sc->tmpo, "rb"); if (!f) { snprintf(buf, sizeof(buf), @@ -2045,11 +2153,11 @@ data_thread_script(void *data, Ecore_Thread *thread EINA_UNUSED) if (size > 0) { - void *dat = malloc(size); + void *dat = malloc(size); - if (dat) - { - if (fread(dat, size, 1, f) != 1) + if (dat) + { + if (fread(dat, size, 1, f) != 1) { snprintf(buf, sizeof(buf), "Unable to read all of script object \"%s\"", @@ -2059,11 +2167,11 @@ data_thread_script(void *data, Ecore_Thread *thread EINA_UNUSED) fclose(f); return; } - snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i", + snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i", sc->i); - eet_write(sc->ef, buf, dat, size, compress_mode); - free(dat); - } + eet_write(sc->ef, buf, dat, size, compress_mode); + free(dat); + } else { snprintf(buf, sizeof(buf), @@ -2104,13 +2212,11 @@ data_thread_script(void *data, Ecore_Thread *thread EINA_UNUSED) eina_tmpstr_del(sc->tmpo); // closed by fclose(f) in create_script_file() // close(sc->tmpn_fd); -// closed by fclose(f) above -// close(sc->tmpo_fd); } typedef struct { - char *exe; + char *exe; Script_Write *sc; } Pending_Script_Write; @@ -2125,14 +2231,13 @@ static void data_thread_script_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Script_Write *sc = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (sc->errstr) { error_and_abort(sc->ef, sc->errstr); free(sc->errstr); } free(sc); + thread_end(0); } static Eina_Bool @@ -2151,7 +2256,7 @@ data_scripts_exe_del_cb(void *data EINA_UNUSED, int evtype EINA_UNUSED, void *ev Pending_Script_Write *pend = pending_script_writes->data; pending_script_writes = eina_list_remove_list - (pending_script_writes, pending_script_writes); + (pending_script_writes, pending_script_writes); data_write_script_queue(pend->sc, pend->exe); free(pend->exe); free(pend); @@ -2171,7 +2276,7 @@ data_scripts_exe_del_cb(void *data EINA_UNUSED, int evtype EINA_UNUSED, void *ev data_thread_script(sc, NULL); data_thread_script_end(sc, NULL); } - if (pending_threads <= 0) ecore_main_loop_quit(); + if (pending_threads + pending_image_threads <= 0) ecore_main_loop_quit(); return ECORE_CALLBACK_CANCEL; } @@ -2224,39 +2329,40 @@ data_write_scripts(Eet_File *ef) # define BIN_EXT #endif #ifdef NEED_RUN_IN_TREE - if (getenv("EFL_RUN_IN_TREE")) - { - snprintf(embryo_cc_path, sizeof(embryo_cc_path), - "%s/src/bin/embryo/embryo_cc" BIN_EXT, - PACKAGE_BUILD_DIR); - snprintf(inc_path, sizeof(inc_path), - "%s/data/edje/include", PACKAGE_SRC_DIR); - if (!ecore_file_exists(embryo_cc_path)) - embryo_cc_path[0] = '\0'; - } + if (getenv("EFL_RUN_IN_TREE")) + { + snprintf(embryo_cc_path, sizeof(embryo_cc_path), + "%s/src/bin/embryo/embryo_cc" BIN_EXT, + PACKAGE_BUILD_DIR); + snprintf(inc_path, sizeof(inc_path), + "%s/data/edje/include", PACKAGE_SRC_DIR); + if (!ecore_file_exists(embryo_cc_path)) + embryo_cc_path[0] = '\0'; + } #endif - if (embryo_cc_path[0] == '\0') - { - snprintf(embryo_cc_path, sizeof(embryo_cc_path), - "%s/embryo_cc" BIN_EXT, - eina_prefix_bin_get(pfx)); - snprintf(inc_path, sizeof(inc_path), - "%s/include", - eina_prefix_data_get(pfx)); - } + if (embryo_cc_path[0] == '\0') + { + snprintf(embryo_cc_path, sizeof(embryo_cc_path), + "%s/embryo_cc" BIN_EXT, + eina_prefix_bin_get(pfx)); + snprintf(inc_path, sizeof(inc_path), + "%s/include", + eina_prefix_data_get(pfx)); + } #undef BIN_EXT for (i = 0, l = codes; l; l = eina_list_next(l), i++) { - Code *cd = eina_list_data_get(l); + Code *cd = eina_list_data_get(l); Script_Write *sc; + int fd; char buf[EINA_PATH_MAX]; - if (cd->is_lua) - continue; - if ((!cd->shared) && (!cd->programs)) - continue; + if (cd->is_lua) + continue; + if ((!cd->shared) && (!cd->programs)) + continue; sc = calloc(1, sizeof(Script_Write)); sc->ef = ef; sc->cd = cd; @@ -2264,15 +2370,19 @@ data_write_scripts(Eet_File *ef) sc->tmpn_fd = eina_file_mkstemp("edje_cc.sma-tmp-XXXXXX", &sc->tmpn); if (sc->tmpn_fd < 0) error_and_abort(ef, "Unable to open temp file \"%s\" for script " - "compilation.", sc->tmpn); - sc->tmpo_fd = eina_file_mkstemp("edje_cc.amx-tmp-XXXXXX", &sc->tmpo); - if (sc->tmpo_fd < 0) + "compilation.", sc->tmpn); + fd = eina_file_mkstemp("edje_cc.amx-tmp-XXXXXX", &sc->tmpo); + if (fd < 0) { unlink(sc->tmpn); eina_tmpstr_del(sc->tmpn); error_and_abort(ef, "Unable to open temp file \"%s\" for script " - "compilation.", sc->tmpo); + "compilation.", sc->tmpo); } + //do not carry the fd over the time + //we should not unnesseserrily carry filedescriptors over time as this could excede system limits + //which have been fetched earlier + close(fd); create_script_file(ef, sc->tmpn, cd, sc->tmpn_fd); snprintf(buf, sizeof(buf), "%s -i %s -o %s %s", embryo_cc_path, inc_path, @@ -2288,7 +2398,6 @@ _edje_lua_script_writer(lua_State *L EINA_UNUSED, const void *chunk_buf, size_t Script_Lua_Writer *data; void *old; - data = (Script_Lua_Writer *)_data; old = data->buf; data->buf = realloc(data->buf, data->size + chunk_size); @@ -2297,7 +2406,7 @@ _edje_lua_script_writer(lua_State *L EINA_UNUSED, const void *chunk_buf, size_t memcpy(&((data->buf)[data->size]), chunk_buf, chunk_size); data->size += chunk_size; } - else + else { ERR("Failed to copy chunk buffer.\n"); data->buf = old; @@ -2305,6 +2414,7 @@ _edje_lua_script_writer(lua_State *L EINA_UNUSED, const void *chunk_buf, size_t return 0; } + #endif void @@ -2316,20 +2426,24 @@ _edje_lua_error_and_abort(lua_State *L, int err_code, Script_Write *sc) switch (err_code) { case LUA_ERRRUN: - err_type = "runtime"; - break; + err_type = "runtime"; + break; + case LUA_ERRSYNTAX: - err_type = "syntax"; - break; + err_type = "syntax"; + break; + case LUA_ERRMEM: - err_type = "memory allocation"; - break; + err_type = "memory allocation"; + break; + case LUA_ERRERR: - err_type = "error handler"; - break; + err_type = "error handler"; + break; + default: - err_type = "unknown"; - break; + err_type = "unknown"; + break; } snprintf(buf, sizeof(buf), "Lua %s error: %s", err_type, lua_tostring(L, -1)); @@ -2395,7 +2509,7 @@ data_thread_lua_script(void *data, Ecore_Thread *thread EINA_UNUSED) } luaL_pushresult(&b); #ifdef LUA_BINARY - if (err_code = luaL_loadstring(L, lua_tostring (L, -1))) + if (err_code = luaL_loadstring(L, lua_tostring(L, -1))) { _edje_lua_error_and_abort(L, err_code, sc); return; @@ -2412,10 +2526,10 @@ data_thread_lua_script(void *data, Ecore_Thread *thread EINA_UNUSED) */ /* - if (luaL_loadbuffer(L, globbuf, globbufsize, "edje_lua_script")) - printf("lua load error: %s\n", lua_tostring (L, -1)); - if (lua_pcall(L, 0, 0, 0)) - printf("lua call error: %s\n", lua_tostring (L, -1)); + if (luaL_loadbuffer(L, globbuf, globbufsize, "edje_lua_script")) + printf("lua load error: %s\n", lua_tostring (L, -1)); + if (lua_pcall(L, 0, 0, 0)) + printf("lua call error: %s\n", lua_tostring (L, -1)); */ snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", sc->i); @@ -2436,14 +2550,13 @@ static void data_thread_lua_script_end(void *data, Ecore_Thread *thread EINA_UNUSED) { Script_Write *sc = data; - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); if (sc->errstr) { error_and_abort(sc->ef, sc->errstr); free(sc->errstr); } free(sc); + thread_end(0); } static void @@ -2488,8 +2601,7 @@ data_thread_source(void *data, Ecore_Thread *thread EINA_UNUSED) static void data_thread_source_end(void *data EINA_UNUSED, Ecore_Thread *thread EINA_UNUSED) { - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); + thread_end(0); } static void @@ -2502,7 +2614,7 @@ data_thread_license(void *data, Ecore_Thread *thread EINA_UNUSED) int bytes; f = eina_file_open(lw->file, 0); - if (!f) return ; + if (!f) return; m = eina_file_map_all(f, EINA_FILE_WILLNEED); if (!m) goto on_error; @@ -2537,16 +2649,15 @@ data_thread_license(void *data, Ecore_Thread *thread EINA_UNUSED) eina_file_map_free(f, m); - on_error: +on_error: eina_file_close(f); } static void data_thread_license_end(void *data, Ecore_Thread *thread EINA_UNUSED) { - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); free(data); + thread_end(0); } static void @@ -2556,10 +2667,10 @@ data_write_license(Eet_File *ef) Eina_List *l; const char *file; - if (!license) return ; + if (!license) return; lw = calloc(1, sizeof (License_Write)); - if (!lw) return ; + if (!lw) return; lw->ef = ef; lw->file = license; @@ -2577,7 +2688,7 @@ data_write_license(Eet_File *ef) EINA_LIST_FOREACH(licenses, l, file) { lw = calloc(1, sizeof (License_Write)); - if (!lw) return ; + if (!lw) return; lw->ef = ef; lw->file = file; @@ -2603,7 +2714,7 @@ data_thread_authors(void *data, Ecore_Thread *thread EINA_UNUSED) int bytes; f = eina_file_open(authors, 0); - if (!f) return ; + if (!f) return; m = eina_file_map_all(f, EINA_FILE_WILLNEED); if (!m) goto on_error; @@ -2625,15 +2736,14 @@ data_thread_authors(void *data, Ecore_Thread *thread EINA_UNUSED) eina_file_map_free(f, m); - on_error: +on_error: eina_file_close(f); } static void data_thread_authors_end(void *data EINA_UNUSED, Ecore_Thread *thread EINA_UNUSED) { - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); + thread_end(0); } static void @@ -2646,8 +2756,7 @@ data_thread_fontmap(void *data, Ecore_Thread *thread EINA_UNUSED) static void data_thread_fontmap_end(void *data EINA_UNUSED, Ecore_Thread *thread EINA_UNUSED) { - pending_threads--; - if (pending_threads <= 0) ecore_main_loop_quit(); + thread_end(0); } void @@ -2655,7 +2764,6 @@ data_write(void) { Eet_File *ef; Eet_Error err; - int image_num = 0; int model_num = 0; int sound_num = 0; int mo_num = 0; @@ -2667,15 +2775,15 @@ data_write(void) if (!edje_file) { - ERR("No data to put in \"%s\"", file_out); - exit(-1); + ERR("No data to put in \"%s\"", file_out); + exit(-1); } - ef = eet_open(file_out, EET_FILE_MODE_WRITE); + cur_ef = ef = eet_open(file_out, EET_FILE_MODE_WRITE); if (!ef) { - ERR("Unable to open \"%s\" for writing output", file_out); - exit(-1); + ERR("Unable to open \"%s\" for writing output", file_out); + exit(-1); } if ((edje_file->efl_version.major <= 1) && (edje_file->efl_version.minor <= 18) @@ -2691,6 +2799,20 @@ data_write(void) EFL_VERSION_MAJOR, EFL_VERSION_MINOR); } + if (eina_array_count(requires)) + { + int i = 0; + + edje_file->requires_count = eina_array_count(requires); + edje_file->requires = mem_alloc(edje_file->requires_count * sizeof(void*)); + do + { + edje_file->requires[i] = eina_array_pop(requires); + i++; + } while (eina_array_count(requires)); + eina_array_free(requires); + } + check_groups(ef); ecore_thread_max_set(ecore_thread_max_get() * 2); @@ -2727,8 +2849,6 @@ data_write(void) data_thread_fontmap_end(ef, NULL); } INF("fontmap: %3.5f", ecore_time_get() - t); t = ecore_time_get(); - data_write_images(ef, &image_num); - INF("images: %3.5f", ecore_time_get() - t); t = ecore_time_get(); data_write_vectors(ef, &vector_num); INF("vectors: %3.5f", ecore_time_get() - t); t = ecore_time_get(); data_check_models(ef, &model_num); @@ -2754,10 +2874,21 @@ data_write(void) data_thread_authors_end(ef, NULL); } } + data_write_images(); + data_image_sets_init(); + INF("images: %3.5f", ecore_time_get() - t); t = ecore_time_get(); pending_threads--; - if (pending_threads > 0) ecore_main_loop_begin(); + if (pending_threads + pending_image_threads > 0) ecore_main_loop_begin(); INF("THREADS: %3.5f", ecore_time_get() - t); data_write_header(ef); + if (pending_threads + pending_image_threads > 0) ecore_main_loop_begin(); + INF("THREADS: %3.5f", ecore_time_get() - t); + + if (threads) + { + /* probably caught signal, exit immediately to avoid crash */ + if (pending_threads + pending_image_threads > 0) exit(-1); + } err = eet_close(ef); if (err) @@ -2793,9 +2924,9 @@ reorder_parts(void) EINA_LIST_FOREACH(edje_collections, l, pc) { unsigned int i, j, k; - Eina_Bool found = EINA_FALSE; + Eina_Bool found = EINA_FALSE; - for (i = 0; i < pc->parts_count; i++) + for (i = 0; i < pc->parts_count; i++) { ep = (Edje_Part_Parser *)pc->parts[i]; if (ep->reorder.insert_before && ep->reorder.insert_after) @@ -2858,7 +2989,7 @@ reorder_parts(void) } if (found) { - unsigned int amount, linked; + unsigned int amount, linked; if (((i > k) && ((i - ep->reorder.linked_prev) <= k)) || ((i < k) && ((i + ep->reorder.linked_next) >= k))) @@ -2867,19 +2998,19 @@ reorder_parts(void) amount = ep->reorder.linked_prev + ep->reorder.linked_next + 1; linked = i - ep->reorder.linked_prev; parts = malloc(amount * sizeof(Edje_Part *)); - for (j = 0 ; j < amount ; j++) + for (j = 0; j < amount; j++) { parts[j] = pc->parts[linked]; linked++; } if (i > k) { - for (j = i - ep->reorder.linked_prev ; j > k; j--) + for (j = i - ep->reorder.linked_prev; j > k; j--) { pc->parts[j + amount - 1] = pc->parts[j - 1]; pc->parts[j + amount - 1]->id = j + amount - 1; } - for (j = 0 ; j < amount ; j++) + for (j = 0; j < amount; j++) { pc->parts[j + k] = parts[j]; pc->parts[j + k]->id = j + k; @@ -2887,12 +3018,12 @@ reorder_parts(void) } else if (i < k) { - for (j = i + ep->reorder.linked_next + 1 ; j <= k ; j++) + for (j = i + ep->reorder.linked_next + 1; j <= k; j++) { pc->parts[j - amount] = pc->parts[j]; pc->parts[j - amount]->id = j - amount; } - for (j = 0 ; j < amount ; j++) + for (j = 0; j < amount; j++) { pc->parts[j + k - amount + 1] = parts[j]; pc->parts[j + k - amount + 1]->id = j + k - amount + 1; @@ -2992,7 +3123,7 @@ data_queue_part_nest_lookup(Edje_Part_Collection *pc, const char *name, int *des void data_queue_part_reallocated_lookup(Edje_Part_Collection *pc, const char *name, - unsigned char **base, int offset) + unsigned char **base, int offset) { Part_Lookup_Key key; Part_Lookup *pl = NULL; @@ -3054,7 +3185,6 @@ part_lookup_del(Edje_Part_Collection *pc, int *dest) eina_hash_del(part_pc_dest_lookup, &key, pl); } - void part_lookup_delete(Edje_Part_Collection *pc, const char *name, int *dest, char **dest2) { @@ -3109,7 +3239,7 @@ data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *des Eina_List *l, *l1, *l2, *l3; Program_Lookup *pl; - if (!ep) return; /* FIXME: should we stop compiling ? */ + if (!ep) return; /* FIXME: should we stop compiling ? */ EINA_LIST_FOREACH_SAFE(program_lookups, l, l1, pl) { @@ -3189,31 +3319,31 @@ data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest { if (pl->dest == src && pl->u.ep->name) { - for (i = 0 ; i < pc->programs.fnmatch_count ; i++) + for (i = 0; i < pc->programs.fnmatch_count; i++) { if (pc->programs.fnmatch[i]->name && !strcmp(pl->u.ep->name, pc->programs.fnmatch[i]->name)) data_queue_anonymous_lookup(pc, pc->programs.fnmatch[i], dest); } - for (i = 0 ; i < pc->programs.strcmp_count ; i++) + for (i = 0; i < pc->programs.strcmp_count; i++) { if (pc->programs.strcmp[i]->name && !strcmp(pl->u.ep->name, pc->programs.strcmp[i]->name)) data_queue_anonymous_lookup(pc, pc->programs.strcmp[i], dest); } - for (i = 0 ; i < pc->programs.strncmp_count ; i++) + for (i = 0; i < pc->programs.strncmp_count; i++) { if (pc->programs.strncmp[i]->name && !strcmp(pl->u.ep->name, pc->programs.strncmp[i]->name)) data_queue_anonymous_lookup(pc, pc->programs.strncmp[i], dest); } - for (i = 0 ; i < pc->programs.strrncmp_count ; i++) + for (i = 0; i < pc->programs.strrncmp_count; i++) { if (pc->programs.strrncmp[i]->name && !strcmp(pl->u.ep->name, pc->programs.strrncmp[i]->name)) data_queue_anonymous_lookup(pc, pc->programs.strrncmp[i], dest); } - for (i = 0 ; i < pc->programs.nocmp_count ; i++) + for (i = 0; i < pc->programs.nocmp_count; i++) { if (pc->programs.nocmp[i]->name && !strcmp(pl->u.ep->name, pc->programs.nocmp[i]->name)) @@ -3231,7 +3361,7 @@ data_queue_program_lookup(Edje_Part_Collection *pc, const char *name, int *dest) if (pcp->inherit_only && (!current_group_inherit)) return NULL; - if (!name) return NULL; /* FIXME: should we stop compiling ? */ + if (!name) return NULL; /* FIXME: should we stop compiling ? */ pl = mem_alloc(SZ(Program_Lookup)); program_lookups = eina_list_append(program_lookups, pl); @@ -3311,7 +3441,7 @@ data_queue_image_remove(int *dest, Eina_Bool *set) return; } } - } +} void data_queue_model_lookup(char *name, int *dest, Eina_Bool *set) @@ -3379,8 +3509,8 @@ data_process_part_set(Part_Lookup *target, int value) } else { - *((int*)(*target->key.mem.reallocated.base + - target->key.mem.reallocated.offset)) = value; + *((int *)(*target->key.mem.reallocated.base + + target->key.mem.reallocated.offset)) = value; } return EINA_FALSE; } @@ -3413,20 +3543,19 @@ static void _data_image_sets_size_set() { Evas *evas; - Ecore_Evas *ee; Edje_Image_Directory_Set *set; Edje_Image_Directory_Set_Entry *simg, *preimg; Eina_List *l, *entries; unsigned int i; - ecore_evas_init(); - ee = ecore_evas_buffer_new(1, 1); - if (!ee) + if (!buffer_ee) + buffer_ee = ecore_evas_buffer_new(1, 1); + if (!buffer_ee) { ERR("Cannot create buffer engine canvas for image load."); exit(-1); } - evas = ecore_evas_get(ee); + evas = ecore_evas_get(buffer_ee); for (i = 0; i < edje_file->image_dir->sets_count; i++) { @@ -3523,40 +3652,40 @@ _data_image_id_update(Eina_List *images_unused_list) unsigned int i, j, desc_it; Eina_List *l, *l2, *l3; -#define PART_DESC_IMAGE_ID_UPDATE \ - EINA_LIST_FOREACH(images_unused_list, l3, iui) \ - { \ - if ((iui) && (part_desc_image->image.id == iui->old_id)) \ - { \ - part_desc_image->image.id = iui->new_id; \ - break; \ - } \ - } \ - for (desc_it = 0; desc_it < part_desc_image->image.tweens_count; desc_it++) \ - { \ - tween_id = part_desc_image->image.tweens[desc_it]; \ - EINA_LIST_FOREACH(images_unused_list, l3, iui) \ - { \ - if ((iui) && (tween_id->id == iui->old_id)) \ - { \ - tween_id->id = iui->new_id; \ - break; \ - } \ - } \ - } +#define PART_DESC_IMAGE_ID_UPDATE \ + EINA_LIST_FOREACH(images_unused_list, l3, iui) \ + { \ + if ((iui) && (part_desc_image->image.id == iui->old_id)) \ + { \ + part_desc_image->image.id = iui->new_id; \ + break; \ + } \ + } \ + for (desc_it = 0; desc_it < part_desc_image->image.tweens_count; desc_it++) \ + { \ + tween_id = part_desc_image->image.tweens[desc_it]; \ + EINA_LIST_FOREACH(images_unused_list, l3, iui) \ + { \ + if ((iui) && (tween_id->id == iui->old_id)) \ + { \ + tween_id->id = iui->new_id; \ + break; \ + } \ + } \ + } -#define PART_DESC_PROXY_ID_UPDATE \ - EINA_LIST_FOREACH(images_unused_list, l3, iui) \ - { \ - if ((iui) && (part_desc_mesh_node->mesh_node.texture.id == iui->old_id)) \ - { \ - part_desc_mesh_node->mesh_node.texture.id = iui->new_id; \ - break; \ - } \ - } +#define PART_DESC_PROXY_ID_UPDATE \ + EINA_LIST_FOREACH(images_unused_list, l3, iui) \ + { \ + if ((iui) && (part_desc_mesh_node->mesh_node.texture.id == iui->old_id)) \ + { \ + part_desc_mesh_node->mesh_node.texture.id = iui->new_id; \ + break; \ + } \ + } EINA_LIST_FOREACH_SAFE(edje_collections, l, l2, pc) { - for(i = 0; i < pc->parts_count; i++) + for (i = 0; i < pc->parts_count; i++) { part = pc->parts[i]; if (part->type == EDJE_PART_TYPE_IMAGE) @@ -3565,10 +3694,10 @@ _data_image_id_update(Eina_List *images_unused_list) if (!part_desc_image) continue; PART_DESC_IMAGE_ID_UPDATE for (j = 0; j < part->other.desc_count; j++) - { - part_desc_image = (Edje_Part_Description_Image *)part->other.desc[j]; - PART_DESC_IMAGE_ID_UPDATE - } + { + part_desc_image = (Edje_Part_Description_Image *)part->other.desc[j]; + PART_DESC_IMAGE_ID_UPDATE + } } else if (part->type == EDJE_PART_TYPE_MESH_NODE) { @@ -3576,10 +3705,10 @@ _data_image_id_update(Eina_List *images_unused_list) if (!part_desc_mesh_node) continue; PART_DESC_PROXY_ID_UPDATE for (j = 0; j < part->other.desc_count; j++) - { - part_desc_mesh_node = (Edje_Part_Description_Mesh_Node *)part->other.desc[j]; - PART_DESC_PROXY_ID_UPDATE - } + { + part_desc_mesh_node = (Edje_Part_Description_Mesh_Node *)part->other.desc[j]; + PART_DESC_PROXY_ID_UPDATE + } } } } @@ -3599,7 +3728,6 @@ _data_image_id_update(Eina_List *images_unused_list) break; } } - } } } @@ -3614,19 +3742,19 @@ _data_model_id_update(Eina_List *models_unused_list) unsigned int i, j; Eina_List *l, *l2, *l3; -#define PART_DESC_MODEL_ID_UPDATE \ - EINA_LIST_FOREACH(models_unused_list, l3, iui) \ - { \ - if ((iui) && (part_desc_mesh_node->mesh_node.mesh.id == iui->old_id)) \ - { \ - part_desc_mesh_node->mesh_node.mesh.id = iui->new_id; \ - break; \ - } \ - } \ +#define PART_DESC_MODEL_ID_UPDATE \ + EINA_LIST_FOREACH(models_unused_list, l3, iui) \ + { \ + if ((iui) && (part_desc_mesh_node->mesh_node.mesh.id == iui->old_id)) \ + { \ + part_desc_mesh_node->mesh_node.mesh.id = iui->new_id; \ + break; \ + } \ + } \ EINA_LIST_FOREACH_SAFE(edje_collections, l, l2, pc) { - for(i = 0; i < pc->parts_count; i++) + for (i = 0; i < pc->parts_count; i++) { part = pc->parts[i]; if (part->type == EDJE_PART_TYPE_MESH_NODE) @@ -3635,10 +3763,10 @@ _data_model_id_update(Eina_List *models_unused_list) if (!part_desc_mesh_node) continue; PART_DESC_MODEL_ID_UPDATE for (j = 0; j < part->other.desc_count; j++) - { - part_desc_mesh_node = (Edje_Part_Description_Mesh_Node *)part->other.desc[j]; - PART_DESC_MODEL_ID_UPDATE - } + { + part_desc_mesh_node = (Edje_Part_Description_Mesh_Node *)part->other.desc[j]; + PART_DESC_MODEL_ID_UPDATE + } } } } @@ -3676,18 +3804,19 @@ data_process_lookups(void) ERR("A collection without a name was detected, that's not allowed."); exit(-1); } + find = eina_hash_find(edje_file->collection, pc->part); if (find && find->id == pc->id) { - if ( ((Edje_Part_Collection_Parser*)pc)->inherit_only) + if (((Edje_Part_Collection_Parser *)pc)->inherit_only) eina_hash_del_by_data(edje_file->collection, find); else - continue ; + continue; } EINA_LIST_FOREACH(aliases, l3, alias) if (alias->id == pc->id) - continue ; + continue; /* This Edje_Part_Collection is not used at all */ edje_collections = eina_list_remove_list(edje_collections, l); @@ -3696,23 +3825,27 @@ data_process_lookups(void) /* Unref all image used by that group */ for (i = 0; i < pc->parts_count; ++i) - part_description_image_cleanup(pc->parts[i]); + part_description_image_cleanup(pc->parts[i]); /* Correct all id */ EINA_LIST_FOREACH(edje_collections, l3, pc) { Eina_List *l4; + Edje_Part_Collection_Directory_Entry *de; /* Some group could be removed from the collection, but still be referenced by alias */ - find = eina_hash_find(edje_file->collection, pc->part); - if (pc->id != find->id) find = NULL; - /* Update all matching alias */ EINA_LIST_FOREACH(aliases, l4, alias) if (pc->id == alias->id) alias->id = id; - pc->id = id++; + find = eina_hash_find(edje_file->collection, pc->part); + if (pc->id != find->id) find = NULL; + + de = eina_hash_find(edje_collections_lookup, &pc->id); + eina_hash_set(edje_collections_lookup, &pc->id, NULL); + de->id = pc->id = id++; + eina_hash_set(edje_collections_lookup, &pc->id, de); if (find) find->id = pc->id; } } @@ -3724,11 +3857,11 @@ data_process_lookups(void) if (pc->lua_script_only) is_lua = EINA_TRUE; -#define PROGRAM_ID_SET(Type, Pc, It, Count) \ - for (It = 0; It < Pc->programs.Type ## _count; ++It) \ - { \ - Pc->programs.Type[It]->id = Count++; \ - } +#define PROGRAM_ID_SET(Type, Pc, It, Count) \ + for (It = 0; It < Pc->programs.Type ## _count; ++It) \ + { \ + Pc->programs.Type[It]->id = Count++; \ + } PROGRAM_ID_SET(fnmatch, pc, i, count); PROGRAM_ID_SET(strcmp, pc, i, count); @@ -3779,7 +3912,7 @@ data_process_lookups(void) } } - if ((i == part->key.pc->parts_count) && (!((Edje_Part_Collection_Parser*)part->key.pc)->inherit_only)) + if ((i == part->key.pc->parts_count) && (!((Edje_Part_Collection_Parser *)part->key.pc)->inherit_only)) { ERR("Unable to find part name \"%s\" needed in group '%s'.", alias, part->key.pc->part); @@ -3796,21 +3929,21 @@ data_process_lookups(void) unsigned int i; Eina_Bool find = EINA_FALSE; -#define PROGRAM_MATCH(Type, Pl, It) \ - for (It = 0; It < Pl->pc->programs.Type ## _count; ++It) \ - { \ - Edje_Program *ep; \ - \ - ep = Pl->pc->programs.Type[It]; \ - \ - if ((Pl->anonymous && ep == Pl->u.ep) || \ - ((!Pl->anonymous) && (ep->name) && (!strcmp(ep->name, Pl->u.name)))) \ - { \ - *(Pl->dest) = ep->id; \ - find = EINA_TRUE; \ - break; \ - } \ - } +#define PROGRAM_MATCH(Type, Pl, It) \ + for (It = 0; It < Pl->pc->programs.Type ## _count; ++It) \ + { \ + Edje_Program *ep; \ + \ + ep = Pl->pc->programs.Type[It]; \ + \ + if ((Pl->anonymous && ep == Pl->u.ep) || \ + ((!Pl->anonymous) && (ep->name) && (!strcmp(ep->name, Pl->u.name)))) \ + { \ + *(Pl->dest) = ep->id; \ + find = EINA_TRUE; \ + break; \ + } \ + } PROGRAM_MATCH(fnmatch, program, i); PROGRAM_MATCH(strcmp, program, i); @@ -3835,6 +3968,7 @@ data_process_lookups(void) free(program); } + groups_sourced = eina_hash_string_superfast_new(NULL); EINA_LIST_FREE(group_lookups, group) { Edje_Part_Collection_Directory_Entry *de; @@ -3869,6 +4003,7 @@ data_process_lookups(void) exit(-1); } + eina_hash_add(groups_sourced, group->name, (void*)1); free_group: free(group->name); free(group); @@ -3919,7 +4054,7 @@ free_group: if ((de->entry) && (!strcmp(de->entry, image->name))) { - if (de->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) + if (de->source_type >= EDJE_IMAGE_SOURCE_TYPE_USER) *(image->dest) = -de->id - 1; else *(image->dest) = de->id; @@ -3950,8 +4085,8 @@ free_group: find = EINA_TRUE; EINA_LIST_FOREACH(set->entries, lc, child) - if (!eina_hash_find(images_in_use, child->name)) - eina_hash_direct_add(images_in_use, child->name, child); + if (!eina_hash_find(images_in_use, child->name)) + eina_hash_direct_add(images_in_use, child->name, child); if (!eina_hash_find(images_in_use, image->name)) eina_hash_direct_add(images_in_use, set->name, set); @@ -3986,7 +4121,7 @@ free_group: de = edje_file->image_dir->entries + i; if (de->entry && eina_hash_find(images_in_use, de->entry)) - continue ; + continue; INF("Image '%s' in resource 'edje/image/%i' will not be included as it is unused.", de->entry, de->id); @@ -4014,7 +4149,7 @@ free_group: set = edje_file->image_dir->sets + i; if (set->name && eina_hash_find(images_in_use, set->name)) - continue ; + continue; INF("Set '%s' will not be included as it is unused.", set->name); @@ -4031,7 +4166,7 @@ free_group: images_unused_list = eina_list_append(images_unused_list, iui); iui->new_id = i; set_last->id = i; - memcpy(set, set_last, sizeof(Edje_Image_Directory_Set)); + memcpy(set, set_last, sizeof(Edje_Image_Directory_Set)); --i; edje_file->image_dir->sets_count--; set_realloc = realloc(edje_file->image_dir->sets, @@ -4042,7 +4177,7 @@ free_group: /* update image id in parts */ if (images_unused_list) _data_image_id_update(images_unused_list); EINA_LIST_FREE(images_unused_list, iui) - free(iui); + free(iui); _data_image_sets_size_set(); } @@ -4098,7 +4233,7 @@ free_group: de = edje_file->model_dir->entries + i; if (de->entry && eina_hash_find(models_in_use, de->entry)) - continue ; + continue; INF("Model '%s' in resource 'edje/model/%i' will not be included as it is unused.", de->entry, de->id); @@ -4124,14 +4259,14 @@ free_group: /* update model id in parts */ if (models_unused_list) _data_model_id_update(models_unused_list); EINA_LIST_FREE(models_unused_list, iui) - free(iui); + free(iui); } eina_hash_free(models_in_use); } static void -data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len)) +data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char *ptr, int len)) { char *p; char *key; @@ -4147,97 +4282,98 @@ data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void escape = 0; for (p = s; (p) && (*p); p++) { - if (!quote) - { - if (*p == '\"') - { - quote = 1; - p++; - } - } - if (!quote) - { - if (!strncmp(p, key, keyl)) - { + if (!quote) + { + if (*p == '\"') + { + quote = 1; + p++; + } + } + if (!quote) + { + if (!strncmp(p, key, keyl)) + { char *ptr; int len; int inesc = 0; - char *name; + char *name; ptr = p; p += keyl; - while ((*p)) - { - if (!inesc) - { - if (*p == '\\') inesc = 1; - else if (*p == '\"') - { - /* string concatenation, see below */ - if (*(p + 1) != '\"') - break; - else - p++; - } - } + while ((*p)) + { + if (!inesc) + { + if (*p == '\\') inesc = 1; + else if (*p == '\"') + { + /* string concatenation, see below */ + if (*(p + 1) != '\"') + break; + else + p++; + } + } else - inesc = 0; + inesc = 0; p++; - } - len = p - ptr + 1; - name = alloca(len); - if (name) - { - char *pp; - int i; + } + len = p - ptr + 1; + name = alloca(len); + if (name) + { + char *pp; + int i; - name[0] = 0; - pp = ptr + keyl; - inesc = 0; - i = 0; - while (*pp) - { - if (!inesc) - { - if (*pp == '\\') inesc = 1; - else if (*pp == '\"') - { - /* concat strings like "foo""bar" to "foobar" */ - if (*(pp + 1) == '\"') - pp++; - else - { - name[i] = 0; - break; - } - } - else - { - name[i] = *pp; - name[i + 1] = 0; - i++; - } - } - else + name[0] = 0; + pp = ptr + keyl; + inesc = 0; + i = 0; + while (*pp) + { + if (!inesc) + { + if (*pp == '\\') inesc = 1; + else if (*pp == '\"') + { + /* concat strings like "foo""bar" to "foobar" */ + if (*(pp + 1) == '\"') + pp++; + else + { + name[i] = 0; + break; + } + } + else + { + name[i] = *pp; + name[i + 1] = 0; + i++; + } + } + else inesc = 0; - pp++; - } - func(pc, name, ptr, len); - } - } - } - else - { - if (!escape) - { - if (*p == '\"') quote = 0; - else if (*p == '\\') escape = 1; - } - else if (escape) - { - escape = 0; - } - } + pp++; + } + func(pc, name, ptr, len); + } + } + } + else + { + if (!escape) + { + if (*p == '\"') quote = 0; + else if (*p == '\\') + escape = 1; + } + else if (escape) + { + escape = 0; + } + } } } @@ -4254,6 +4390,7 @@ _data_queue_part_lookup(Edje_Part_Collection *pc, char *name, char *ptr, int len code_lookups = eina_list_append(code_lookups, cl); } + static void _data_queue_program_lookup(Edje_Part_Collection *pc, char *name, char *ptr, int len) { @@ -4267,11 +4404,13 @@ _data_queue_program_lookup(Edje_Part_Collection *pc, char *name, char *ptr, int code_lookups = eina_list_append(code_lookups, cl); } + static void _data_queue_group_lookup(Edje_Part_Collection *pc EINA_UNUSED, char *name, char *ptr EINA_UNUSED, int len EINA_UNUSED) { data_queue_group_lookup(name, NULL); } + static void _data_queue_image_pc_lookup(Edje_Part_Collection *pc EINA_UNUSED, char *name, char *ptr, int len) { @@ -4281,7 +4420,7 @@ _data_queue_image_pc_lookup(Edje_Part_Collection *pc EINA_UNUSED, char *name, ch cl->ptr = ptr; cl->len = len; - data_queue_image_lookup(name, &(cl->val), &(cl->set)); + data_queue_image_lookup(name, &(cl->val), &(cl->set)); code_lookups = eina_list_append(code_lookups, cl); } @@ -4293,36 +4432,36 @@ data_process_scripts(void) for (l = codes, l2 = edje_collections; (l) && (l2); l = eina_list_next(l), l2 = eina_list_next(l2)) { - Edje_Part_Collection *pc; - Code *cd; + Edje_Part_Collection *pc; + Code *cd; - cd = eina_list_data_get(l); - pc = eina_list_data_get(l2); + cd = eina_list_data_get(l); + pc = eina_list_data_get(l2); - if ((cd->shared) && (!cd->is_lua)) - { - data_process_string(pc, "PART", cd->shared, _data_queue_part_lookup); - data_process_string(pc, "PROGRAM", cd->shared, _data_queue_program_lookup); - data_process_string(pc, "IMAGE", cd->shared, _data_queue_image_pc_lookup); - data_process_string(pc, "GROUP", cd->shared, _data_queue_group_lookup); - } + if ((cd->shared) && (!cd->is_lua)) + { + data_process_string(pc, "PART", cd->shared, _data_queue_part_lookup); + data_process_string(pc, "PROGRAM", cd->shared, _data_queue_program_lookup); + data_process_string(pc, "IMAGE", cd->shared, _data_queue_image_pc_lookup); + data_process_string(pc, "GROUP", cd->shared, _data_queue_group_lookup); + } - if (cd->programs) - { - Code_Program *cp; - Eina_List *ll; + if (cd->programs) + { + Code_Program *cp; + Eina_List *ll; - EINA_LIST_FOREACH(cd->programs, ll, cp) - { - if (cp->script) - { - data_process_string(pc, "PART", cp->script, _data_queue_part_lookup); - data_process_string(pc, "PROGRAM", cp->script, _data_queue_program_lookup); - data_process_string(pc, "IMAGE", cp->script, _data_queue_image_pc_lookup); - data_process_string(pc, "GROUP", cp->script, _data_queue_group_lookup); - } - } - } + EINA_LIST_FOREACH(cd->programs, ll, cp) + { + if (cp->script) + { + data_process_string(pc, "PART", cp->script, _data_queue_part_lookup); + data_process_string(pc, "PROGRAM", cp->script, _data_queue_program_lookup); + data_process_string(pc, "IMAGE", cp->script, _data_queue_image_pc_lookup); + data_process_string(pc, "GROUP", cp->script, _data_queue_group_lookup); + } + } + } } } @@ -4334,18 +4473,18 @@ data_process_script_lookups(void) EINA_LIST_FOREACH(code_lookups, l, cl) { - char buf[12]; - int n; + char buf[12]; + int n; - /* FIXME !! Handle set in program */ - n = eina_convert_itoa(cl->val, buf); - if (n > cl->len) - { - ERR("The unexpected happened. A numeric replacement string was larger than the original!"); - exit(-1); - } - memset(cl->ptr, ' ', cl->len); - strncpy(cl->ptr, buf, n); + /* FIXME !! Handle set in program */ + n = eina_convert_itoa(cl->val, buf); + if (n > cl->len) + { + ERR("The unexpected happened. A numeric replacement string was larger than the original!"); + exit(-1); + } + memset(cl->ptr, ' ', cl->len); + strncpy(cl->ptr, buf, n); } } @@ -4431,10 +4570,10 @@ color_tree_parent_node_get(const char *color_class) char *name; EINA_LIST_FOREACH(edje_file->color_tree, l, ctn) - if (ctn->color_classes) - EINA_LIST_FOREACH(ctn->color_classes, ll, name) - if (!strcmp(name, color_class)) - return ctn; + if (ctn->color_classes) + EINA_LIST_FOREACH(ctn->color_classes, ll, name) + if (!strcmp(name, color_class)) + return ctn; return NULL; } @@ -4490,12 +4629,12 @@ process_color_tree(char *s, const char *f_in, int ln) if (!strcmp(name, token[id])) { error_and_abort(NULL, "parse error %s:%i. The color class \"%s\" already belongs to the root node.", - f_in, ln -1, token[id]); + f_in, ln - 1, token[id]); } if ((ctn = color_tree_parent_node_get(token[id]))) error_and_abort(NULL, "parse error %s:%i. The color class \"%s\" already belongs to the \"%s\" node.", - f_in, ln -1, token[id], ctn->name); + f_in, ln - 1, token[id], ctn->name); ctn = eina_array_data_get(array, eina_array_count(array) - 1); ctn->color_classes = eina_list_append(ctn->color_classes, strdup(token[id])); @@ -4504,14 +4643,13 @@ process_color_tree(char *s, const char *f_in, int ln) { if ((ctn = color_tree_parent_node_get(token[id]))) error_and_abort(NULL, "parse error %s:%i. The color class \"%s\" already belongs to the \"%s\" node.", - f_in, ln -1, token[id], ctn->name); + f_in, ln - 1, token[id], ctn->name); color_tree_root = eina_list_append(color_tree_root, strdup(token[id])); } } id = !id; - } while (*s); if (eina_array_count(array)) @@ -4525,7 +4663,7 @@ char validate_hex_digit(char c) { if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')) - return c; + return c; ERR("%s:%i. invalid character '%c' is used in color code.", file_in, line - 1, c); @@ -4619,3 +4757,4 @@ convert_color_code(char *str, int *r, int *g, int *b, int *a) free(str); } + diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c index d8a7802e87..7a3335c559 100644 --- a/src/bin/edje/edje_cc_parse.c +++ b/src/bin/edje/edje_cc_parse.c @@ -2,7 +2,6 @@ # include #endif - #include #include #include @@ -23,61 +22,62 @@ # define EPP_EXT #endif +#define SKIP_NAMESPACE_VALIDATION_SUPPORTED " -DSKIP_NAMESPACE_VALIDATION=1 " + #define EDJE_1_18_SUPPORTED " -DEFL_VERSION_1_18=1 " #define EDJE_1_19_SUPPORTED " -DEFL_VERSION_1_19=1 " #define EDJE_1_20_SUPPORTED " -DEFL_VERSION_1_20=1 " #define EDJE_1_21_SUPPORTED " -DEFL_VERSION_1_21=1 " #define EDJE_CC_EFL_VERSION_SUPPORTED \ - EDJE_1_18_SUPPORTED \ - EDJE_1_19_SUPPORTED \ - EDJE_1_20_SUPPORTED \ + EDJE_1_18_SUPPORTED \ + EDJE_1_19_SUPPORTED \ + EDJE_1_20_SUPPORTED \ EDJE_1_21_SUPPORTED -static void new_object(void); -static void new_statement(void); -static char *perform_math (char *input); -static int isdelim(char c); -static char *next_token(char *p, char *end, char **new_p, int *delim); +static void new_object(void); +static void new_statement(void); +static char *perform_math(char *input); +static int isdelim(char c); +static char *next_token(char *p, char *end, char **new_p, int *delim); static const char *stack_id(void); -static void parse(char *data, off_t size); +static void parse(char *data, off_t size); /* simple expression parsing protos */ -static int my_atoi(const char * s); -static char * _alphai(char *s, int * val); -static char * _betai(char *s, int * val); -static char * _gammai(char *s, int * val); -static char * _deltai(char *s, int * val); -static char * _get_numi(char *s, int * val); -static int _is_numi(char c); -static int _is_op1i(char c); -static int _is_op2i(char c); -static int _calci(char op, int a, int b); +static int my_atoi(const char *s); +static char *_alphai(char *s, int *val); +static char *_betai(char *s, int *val); +static char *_gammai(char *s, int *val); +static char *_deltai(char *s, int *val); +static char *_get_numi(char *s, int *val); +static int _is_numi(char c); +static int _is_op1i(char c); +static int _is_op2i(char c); +static int _calci(char op, int a, int b); -static double my_atof(const char * s); -static char * _alphaf(char *s, double * val); -static char * _betaf(char *s, double * val); -static char * _gammaf(char *s, double * val); -static char * _deltaf(char *s, double * val); -static char * _get_numf(char *s, double * val); -static int _is_numf(char c); -static int _is_op1f(char c); -static int _is_op2f(char c); -static double _calcf(char op, double a, double b); -static int strstrip(const char *in, char *out, size_t size); +static double my_atof(const char *s); +static char *_alphaf(char *s, double *val); +static char *_betaf(char *s, double *val); +static char *_gammaf(char *s, double *val); +static char *_deltaf(char *s, double *val); +static char *_get_numf(char *s, double *val); +static int _is_numf(char c); +static int _is_op1f(char c); +static int _is_op2f(char c); +static double _calcf(char op, double a, double b); +static int strstrip(const char *in, char *out, size_t size); - -int line = 0; +int line = 0; Eina_List *stack = NULL; Eina_Array params; int had_quote = 0; int params_quote = 0; -static char file_buf[4096]; -static int did_wildcard = 0; -static int verbatim = 0; -static int verbatim_line1 = 0; -static int verbatim_line2 = 0; +static char file_buf[4096]; +static int did_wildcard = 0; +static int verbatim = 0; +static int verbatim_line1 = 0; +static int verbatim_line2 = 0; static char *verbatim_str = NULL; static Eina_Strbuf *stack_buf = NULL; @@ -102,9 +102,9 @@ err_show_params(void) ERR("PARAMS:"); EINA_ARRAY_ITER_NEXT(¶ms, i, p, iterator) - { - ERR(" %s", p); - } + { + ERR(" %s", p); + } } static void @@ -117,7 +117,7 @@ err_show(void) static char * _parse_param_get(int n) { - if (n < (int) eina_array_count(¶ms)) + if (n < (int)eina_array_count(¶ms)) return eina_array_data_get(¶ms, n); return NULL; } @@ -304,7 +304,7 @@ new_statement_single(void) } static char * -perform_math (char *input) +perform_math(char *input) { char buf[256]; double res; @@ -344,9 +344,9 @@ next_token(char *p, char *end, char **new_p, int *delim) int in_tok = 0; int in_quote = 0; int in_parens = 0; - int in_comment_ss = 0; + int in_comment_ss = 0; int in_comment_cpp = 0; - int in_comment_sa = 0; + int in_comment_sa = 0; int is_escaped = 0; had_quote = 0; @@ -377,7 +377,7 @@ next_token(char *p, char *end, char **new_p, int *delim) { char *pp, fl[4096]; char *tmpstr = NULL; - int l, nm; + int l, nm; /* handle cpp comments */ /* their line format is @@ -470,14 +470,14 @@ next_token(char *p, char *end, char **new_p, int *delim) /* check for end-of-token */ if ( - (isspace(*p)) || - ((*delim) && (!isdelim(*p))) || - (isdelim(*p)) - ) - {/*the line below this is never used because it skips to - * the 'done' label which is after the return call for - * in_tok being 0. is this intentional? - */ + (isspace(*p)) || + ((*delim) && (!isdelim(*p))) || + (isdelim(*p)) + ) /*the line below this is never used because it skips to + * the 'done' label which is after the return call for + * in_tok being 0. is this intentional? + */ + { in_tok = 0; tok_end = p - 1; @@ -497,7 +497,7 @@ next_token(char *p, char *end, char **new_p, int *delim) if (!in_tok) return NULL; tok_end = p - 1; - done: +done: *new_p = p; tok = mem_alloc(tok_end - tok_start + 2); @@ -661,7 +661,7 @@ stack_pop(void) if (do_remove) eina_strbuf_remove(stack_buf, eina_strbuf_length_get(stack_buf) - tmp_length - 1, - eina_strbuf_length_get(stack_buf)); /* remove: '.tmp' */ + eina_strbuf_length_get(stack_buf)); /* remove: '.tmp' */ } else { @@ -698,8 +698,8 @@ stack_pop_quick(Eina_Bool check_last, Eina_Bool do_free) tmp = end + 1; } eina_strbuf_remove(stack_buf, - eina_strbuf_length_get(stack_buf) - strlen(tmp) - 1, - eina_strbuf_length_get(stack_buf)); /* remove: '.tmp' */ + eina_strbuf_length_get(stack_buf) - strlen(tmp) - 1, + eina_strbuf_length_get(stack_buf)); /* remove: '.tmp' */ stack = eina_list_remove_list(stack, eina_list_last(stack)); if (do_free) { @@ -785,7 +785,8 @@ parse(char *data, off_t size) err_show(); exit(-1); } - else if (*token == ',' || *token == ':') do_params = 1; + else if (*token == ',' || *token == ':') + do_params = 1; else if (*token == '}') { if (do_params) @@ -921,8 +922,9 @@ parse(char *data, off_t size) } else if ((!inquotes) && (!insquotes)) { - if (p[0] == '{') squigglie++; - else if (p[0] == '}') squigglie--; + if (p[0] == '{') squigglie++; + else if (p[0] == '}') + squigglie--; if (squigglie == 0) { verbatim_2 = p - 1; @@ -1046,7 +1048,7 @@ compile(void) len = 0; EINA_LIST_FOREACH(defines, l, define) - len += strlen(define) + 1; + len += strlen(define) + 1; def = mem_alloc(len + 1); def[0] = 0; EINA_LIST_FOREACH(defines, l, define) @@ -1082,25 +1084,25 @@ compile(void) inc = ecore_file_dir_get(file_in); if (depfile) - snprintf(buf, sizeof(buf), "\"%s\" -MMD \"%s\" -MT \"%s\" \"%s\"" - " -I\"%s\" %s -o \"%s\"" - " -DEFL_VERSION_MAJOR=%d -DEFL_VERSION_MINOR=%d" + snprintf(buf, sizeof(buf), "\"%s\" "SKIP_NAMESPACE_VALIDATION_SUPPORTED" -MMD \"%s\" -MT \"%s\" \"%s\"" + " -I\"%s\" %s -o \"%s\"" + " -DEFL_VERSION_MAJOR=%d -DEFL_VERSION_MINOR=%d" EDJE_CC_EFL_VERSION_SUPPORTED, buf2, depfile, file_out, file_in, inc ? inc : "./", def, clean_file, EINA_VERSION_MAJOR, EINA_VERSION_MINOR); else if (annotate) - snprintf(buf, sizeof(buf), "\"%s\" -annotate -a \"%s\" \"%s\"" - " -I\"%s\" %s -o \"%s\"" - " -DEFL_VERSION_MAJOR=%d -DEFL_VERSION_MINOR=%d" + snprintf(buf, sizeof(buf), "\"%s\" "SKIP_NAMESPACE_VALIDATION_SUPPORTED" -annotate -a \"%s\" \"%s\"" + " -I\"%s\" %s -o \"%s\"" + " -DEFL_VERSION_MAJOR=%d -DEFL_VERSION_MINOR=%d" EDJE_CC_EFL_VERSION_SUPPORTED, buf2, watchfile ? watchfile : "/dev/null", file_in, inc ? inc : "./", def, clean_file, EINA_VERSION_MAJOR, EINA_VERSION_MINOR); else - snprintf(buf, sizeof(buf), "\"%s\" -a \"%s\" \"%s\" -I\"%s\" %s" - " -o \"%s\"" - " -DEFL_VERSION_MAJOR=%d -DEFL_VERSION_MINOR=%d" + snprintf(buf, sizeof(buf), "\"%s\" "SKIP_NAMESPACE_VALIDATION_SUPPORTED" -a \"%s\" \"%s\" -I\"%s\" %s" + " -o \"%s\"" + " -DEFL_VERSION_MAJOR=%d -DEFL_VERSION_MINOR=%d" EDJE_CC_EFL_VERSION_SUPPORTED, buf2, watchfile ? watchfile : "/dev/null", file_in, inc ? inc : "./", def, clean_file, @@ -1247,10 +1249,10 @@ _parse_enum(char *str, va_list va) va_list va2; va_copy(va2, va); /* iterator for the error message */ - for (;;) + for (;; ) { char *s; - int v; + int v; s = va_arg(va, char *); @@ -1328,7 +1330,7 @@ parse_flags(int n, ...) va_list va; va_start(va, n); - while (n < (int) eina_array_count(¶ms)) + while (n < (int)eina_array_count(¶ms)) { result |= _parse_enum(eina_array_data_get(¶ms, n), va); n++; @@ -1665,7 +1667,7 @@ _get_numi(char *s, int *val) } buf[pos] = '\0'; (*val) = atoi(buf); - return (s + pos); + return s + pos; } int @@ -1682,10 +1684,13 @@ _is_op1i(char c) { switch (c) { - case '*':; - case '%':; - case '/': return 1; - default: break; + case '*':; + + case '%':; + + case '/': return 1; + + default: break; } return 0; } @@ -1695,9 +1700,11 @@ _is_op2i(char c) { switch (c) { - case '+':; - case '-': return 1; - default: break; + case '+':; + + case '-': return 1; + + default: break; } return 0; } @@ -1705,29 +1712,34 @@ _is_op2i(char c) int _calci(char op, int a, int b) { - switch(op) + switch (op) { case '+': - a += b; - return a; + a += b; + return a; + case '-': - a -= b; - return a; + a -= b; + return a; + case '/': - if (0 != b) a /= b; - else - ERR("%s:%i divide by zero", file_in, line - 1); - return a; + if (0 != b) a /= b; + else + ERR("%s:%i divide by zero", file_in, line - 1); + return a; + case '*': - a *= b; - return a; + a *= b; + return a; + case '%': - if (0 != b) a = a % b; - else - ERR("%s:%i modula by zero", file_in, line - 1); - return a; + if (0 != b) a = a % b; + else + ERR("%s:%i modula by zero", file_in, line - 1); + return a; + default: - ERR("%s:%i unexpected character '%c'", file_in, line - 1, op); + ERR("%s:%i unexpected character '%c'", file_in, line - 1, op); } return a; } @@ -1818,7 +1830,7 @@ _gammaf(char *s, double *val) static char * _betaf(char *s, double *val) { - double a1=0, a2=0; + double a1 = 0, a2 = 0; char op; if (!val) return NULL; @@ -1837,7 +1849,7 @@ _betaf(char *s, double *val) static char * _alphaf(char *s, double *val) { - double a1=0, a2=0; + double a1 = 0, a2 = 0; char op; if (!val) return NULL; @@ -1870,7 +1882,7 @@ _get_numf(char *s, double *val) } buf[pos] = '\0'; (*val) = atof(buf); - return (s+pos); + return s + pos; } static int @@ -1887,11 +1899,14 @@ _is_numf(char c) static int _is_op1f(char c) { - switch(c) + switch (c) { case '*':; + case '%':; + case '/': return 1; + default: break; } return 0; @@ -1900,10 +1915,12 @@ _is_op1f(char c) static int _is_op2f(char c) { - switch(c) + switch (c) { case '+':; + case '-': return 1; + default: break; } return 0; @@ -1912,29 +1929,34 @@ _is_op2f(char c) static double _calcf(char op, double a, double b) { - switch(op) + switch (op) { case '+': - a += b; - return a; + a += b; + return a; + case '-': - a -= b; - return a; + a -= b; + return a; + case '/': - if (b != 0) a /= b; - else - ERR("%s:%i divide by zero", file_in, line - 1); - return a; + if (b != 0) a /= b; + else + ERR("%s:%i divide by zero", file_in, line - 1); + return a; + case '*': - a *= b; - return a; + a *= b; + return a; + case '%': - if (0 != b) a = (double)((int)a % (int)b); - else - ERR("%s:%i modula by zero", file_in, line - 1); - return a; + if (0 != b) a = (double)((int)a % (int)b); + else + ERR("%s:%i modula by zero", file_in, line - 1); + return a; + default: - ERR("%s:%i unexpected character '%c'", file_in, line - 1, op); + ERR("%s:%i unexpected character '%c'", file_in, line - 1, op); } return a; } @@ -1942,7 +1964,7 @@ _calcf(char op, double a, double b) static int strstrip(const char *in, char *out, size_t size) { - if ((size -1 ) < strlen(in)) + if ((size - 1) < strlen(in)) { ERR("%s:%i expression is too long", file_in, line - 1); return 0; @@ -1967,7 +1989,7 @@ get_param_index(char *str) int index; char *p; - for(index = 0; index < get_arg_count(); index++) + for (index = 0; index < get_arg_count(); index++) { p = _parse_param_get(index); if (!p) continue; @@ -1982,5 +2004,6 @@ get_param_index(char *str) int param_had_quote(int n) { - return (params_quote & (1 << n)); + return params_quote & (1 << n); } + diff --git a/src/bin/edje/edje_cc_script.c b/src/bin/edje/edje_cc_script.c index dca9fef953..2e52ac1c2f 100644 --- a/src/bin/edje/edje_cc_script.c +++ b/src/bin/edje/edje_cc_script.c @@ -19,19 +19,19 @@ typedef enum { TOKEN_TYPE_INVALID = -1, TOKEN_TYPE_EOF, - TOKEN_TYPE_COLON = (1 << 0), - TOKEN_TYPE_SEMICOLON = (1 << 1), - TOKEN_TYPE_COMMA = (1 << 2), - TOKEN_TYPE_PARENS = (1 << 3), - TOKEN_TYPE_BRACES = (1 << 4), + TOKEN_TYPE_COLON = (1 << 0), + TOKEN_TYPE_SEMICOLON = (1 << 1), + TOKEN_TYPE_COMMA = (1 << 2), + TOKEN_TYPE_PARENS = (1 << 3), + TOKEN_TYPE_BRACES = (1 << 4), TOKEN_TYPE_EQUAL_MARK = (1 << 5), - TOKEN_TYPE_PUBLIC = (1 << 6), + TOKEN_TYPE_PUBLIC = (1 << 6), TOKEN_TYPE_IDENTIFIER = (1 << 7) } Token_Type; typedef struct _Token { - char *str; + char *str; Token_Type type; } Token; @@ -64,7 +64,7 @@ static void code_parse_internal(Code *code) { Code_Symbol *sym = NULL, *func = NULL; - Token *token, *tmp; + Token *token, *tmp = NULL; char *begin = code->shared; char *end = begin + strlen(begin); char *body; @@ -89,9 +89,16 @@ code_parse_internal(Code *code) if ((tmp->type == TOKEN_TYPE_COMMA) || (tmp->type == TOKEN_TYPE_SEMICOLON)) { + if (token->str) free(token->str); + free(token); + token = tmp; + tmp = NULL; break; } + + if (tmp->str) free(tmp->str); + free(tmp); } } @@ -102,6 +109,7 @@ code_parse_internal(Code *code) sym = mem_alloc(SZ(Code_Symbol)); sym->tag = eina_array_pop(name_stack); break; + case TOKEN_TYPE_SEMICOLON: if (eina_array_count(name_stack)) { @@ -114,6 +122,7 @@ code_parse_internal(Code *code) } is_public = EINA_FALSE; break; + case TOKEN_TYPE_COMMA: if (!sym) sym = mem_alloc(SZ(Code_Symbol)); @@ -127,6 +136,7 @@ code_parse_internal(Code *code) } sym = NULL; break; + case TOKEN_TYPE_PARENS: is_args = !is_args; if (is_args) @@ -152,6 +162,7 @@ code_parse_internal(Code *code) sym = func; } break; + case TOKEN_TYPE_BRACES: depth = 1; body = begin; @@ -164,6 +175,7 @@ code_parse_internal(Code *code) case '{': depth++; break; + case '}': depth--; break; @@ -171,6 +183,9 @@ code_parse_internal(Code *code) } if (!depth) break; + + if (tmp->str) free(tmp->str); + free(tmp); } if ((begin - 1) > body) { @@ -182,13 +197,16 @@ code_parse_internal(Code *code) sym = NULL; is_public = EINA_FALSE; break; + case TOKEN_TYPE_PUBLIC: is_public = EINA_TRUE; break; + case TOKEN_TYPE_IDENTIFIER: eina_array_push(name_stack, token->str); token->str = NULL; break; + default: break; } @@ -196,6 +214,20 @@ code_parse_internal(Code *code) if (token->str) free(token->str); free(token); + + if (tmp) + { + if (tmp->str) free(tmp->str); + free(tmp); + tmp = NULL; + } + } + + if (token) + { + if (token->str) + free(token->str); + free(token); } eina_array_free(name_stack); @@ -228,9 +260,10 @@ next_token(char **begin, char *end) case ' ': case '\t': case '\n': - if (index > 0) - parsed = EINA_TRUE; - break; + if (index > 0) + parsed = EINA_TRUE; + break; + case ':': case ';': case ',': @@ -239,46 +272,53 @@ next_token(char **begin, char *end) case '{': case '}': case '=': - if (!index) - { - buf[index++] = ch; - src++; - } - goto exit; + if (!index) + { + buf[index++] = ch; + src++; + } + goto exit; + default: - if (parsed) - goto exit; - buf[index++] = ch; - break; + if (parsed) + goto exit; + buf[index++] = ch; + break; } } exit: switch (buf[0]) { - case ':': - token->type = TOKEN_TYPE_COLON; - break; - case ';': - token->type = TOKEN_TYPE_SEMICOLON; - break; - case ',': - token->type = TOKEN_TYPE_COMMA; - break; - case '(': - case ')': - token->type = TOKEN_TYPE_PARENS; - break; - case '{': - case '}': - token->type = TOKEN_TYPE_BRACES; - break; - case '=': - token->type = TOKEN_TYPE_EQUAL_MARK; - break; - case '\0': - token->type = TOKEN_TYPE_EOF; - break; + case ':': + token->type = TOKEN_TYPE_COLON; + break; + + case ';': + token->type = TOKEN_TYPE_SEMICOLON; + break; + + case ',': + token->type = TOKEN_TYPE_COMMA; + break; + + case '(': + case ')': + token->type = TOKEN_TYPE_PARENS; + break; + + case '{': + case '}': + token->type = TOKEN_TYPE_BRACES; + break; + + case '=': + token->type = TOKEN_TYPE_EQUAL_MARK; + break; + + case '\0': + token->type = TOKEN_TYPE_EOF; + break; } if (token->type < 0) @@ -448,3 +488,4 @@ script_rewrite(Code *code) code->vars = vars; code->func = func; } + diff --git a/src/bin/edje/edje_cc_sources.c b/src/bin/edje/edje_cc_sources.c index a2edf4d531..a8bd949576 100644 --- a/src/bin/edje/edje_cc_sources.c +++ b/src/bin/edje/edje_cc_sources.c @@ -59,8 +59,8 @@ source_fetch_file(const char *fil, const char *filname) f = fopen(fil, "rb"); if (!f) { - ERR("Cannot open file '%s'", fil); - exit(-1); + ERR("Cannot open file '%s'", fil); + exit(-1); } fseek(f, 0, SEEK_END); @@ -71,12 +71,12 @@ source_fetch_file(const char *fil, const char *filname) sf->file = mem_alloc(sz + 1); if (sz > 0) { - tmp = fread(sf->file, sz, 1, f); - if (tmp != 1) - { - ERR("file length for (%s) doesn't match!", filname); - exit(-1); - } + tmp = fread(sf->file, sz, 1, f); + if (tmp != 1) + { + ERR("file length for (%s) doesn't match!", filname); + exit(-1); + } } sf->file[sz] = '\0'; @@ -85,14 +85,14 @@ source_fetch_file(const char *fil, const char *filname) while (fgets(buf, sizeof(buf), f)) { - char *p, *pp; - int forgetit = 0; - int haveinclude = 0; - char *file = NULL, *fname = NULL; + char *p, *pp; + int forgetit = 0; + int haveinclude = 0; + char *file = NULL, *fname = NULL; - p = buf; - while ((!forgetit) && (*p)) - { + p = buf; + while ((!forgetit) && (*p)) + { if (!isspace(*p)) { if (*p != '#') @@ -100,87 +100,87 @@ source_fetch_file(const char *fil, const char *filname) } p++; - if (!haveinclude) - { - if (!isspace(*p)) - { - if (!strncmp(p, "include", 7)) - { - haveinclude = 1; - p += 7; - } - /* HACK! the logic above should be fixed so - * preprocessor statements don't have to begin - * in column 0. - * otoh, edje_cc should print a warning in that case, - * since according to the standard, preprocessor - * statements need to be put in column 0. - */ - else if (!strncmp(p, "#include", 8)) - { - haveinclude = 1; - p += 8; - } - else - forgetit = 1; - } - } - else - { - if (!isspace(*p)) - { - char end = '\0'; - - if (*p == '"') end = '"'; - else if (*p == '<') end = '>'; - - if (end) - { - pp = strchr(p + 1, end); - if (!pp) - forgetit = 1; - else - { - ssize_t l = 0; - - /* get the directory of the current file - * if we haven't already done so - */ - if (!dir) - { - dir = ecore_file_dir_get(fil); - if (dir) dir_len = strlen(dir); - } - - l = pp - p + dir_len + 1; - file = mem_alloc(l); - - if (!dir_len) - { - snprintf(file, l - 1, "%s", p + 1); - file[l - 2] = 0; - } - else - { - snprintf(file, l, "%s/%s", dir, p + 1); - file[l - 1] = 0; - } - - - fname = strdup(p + 1); - pp = strrchr(fname, end); - if (pp) *pp = 0; - forgetit = 1; - } - } - else - forgetit = 1; - } - else - p++; + if (!haveinclude) + { + if (!isspace(*p)) + { + if (!strncmp(p, "include", 7)) + { + haveinclude = 1; + p += 7; + } + /* HACK! the logic above should be fixed so + * preprocessor statements don't have to begin + * in column 0. + * otoh, edje_cc should print a warning in that case, + * since according to the standard, preprocessor + * statements need to be put in column 0. + */ + else if (!strncmp(p, "#include", 8)) + { + haveinclude = 1; + p += 8; + } + else + forgetit = 1; + } } - } - if ((file) && (fname)) + else + { + if (!isspace(*p)) + { + char end = '\0'; + + if (*p == '"') end = '"'; + else if (*p == '<') + end = '>'; + + if (end) + { + pp = strchr(p + 1, end); + if (!pp) + forgetit = 1; + else + { + ssize_t l = 0; + + /* get the directory of the current file + * if we haven't already done so + */ + if (!dir) + { + dir = ecore_file_dir_get(fil); + if (dir) dir_len = strlen(dir); + } + + l = pp - p + dir_len + 1; + file = mem_alloc(l); + + if (!dir_len) + { + snprintf(file, l - 1, "%s", p + 1); + file[l - 2] = 0; + } + else + { + snprintf(file, l, "%s/%s", dir, p + 1); + file[l - 1] = 0; + } + + fname = strdup(p + 1); + pp = strrchr(fname, end); + if (pp) *pp = 0; + forgetit = 1; + } + } + else + forgetit = 1; + } + else + p++; + } + } + if ((file) && (fname)) source_fetch_file(file, fname); if (file) free(file); @@ -230,3 +230,4 @@ source_fontmap_load(Eet_File *ef) fl = eet_data_read(ef, _font_list_edd, "edje_source_fontmap"); return fl; } + diff --git a/src/bin/edje/edje_codegen.c b/src/bin/edje/edje_codegen.c index 0b2412fa37..cbca138429 100644 --- a/src/bin/edje/edje_codegen.c +++ b/src/bin/edje/edje_codegen.c @@ -19,8 +19,8 @@ #include "Edje_Edit.h" static int _log_dom; -#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__) -#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__) +#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__) +#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__) static Ecore_Evas *ee = NULL; static char *file = NULL; @@ -30,31 +30,31 @@ static FILE *source_fd = NULL; static FILE *header_fd = NULL; static Eina_List *externals = NULL; -#define H_HEADER \ - "#ifndef _%s\n" \ - "#define _%s\n\n" \ - "#include \n" \ - "#include \n\n" \ +#define H_HEADER \ + "#ifndef _%s\n" \ + "#define _%s\n\n" \ + "#include \n" \ + "#include \n\n" \ "#include \n\n" -#define H_FOOTER \ +#define H_FOOTER \ "\n#endif /* _%s */\n" -#define C_HEADER \ +#define C_HEADER \ "#include \"%s\"\n\n" -#define C_CODEGEN_OBJECT_ADD \ - "Evas_Object *\n" \ - "%s_object_add(Evas *e, const char *file)\n" \ - "{\n" \ - " Evas_Object *o;\n\n" \ - " o = edje_object_add(e);\n" \ - " if (!o) return NULL;\n\n" \ - " if (file)\n" \ - " edje_object_file_set(o, file, \"%s\");\n" \ - " else\n" \ - " edje_object_file_set(o, \"%s\", \"%s\");\n\n" \ - " return o;\n" \ +#define C_CODEGEN_OBJECT_ADD \ + "Evas_Object *\n" \ + "%s_object_add(Evas *e, const char *file)\n" \ + "{\n" \ + " Evas_Object *o;\n\n" \ + " o = edje_object_add(e);\n" \ + " if (!o) return NULL;\n\n" \ + " if (file)\n" \ + " edje_object_file_set(o, file, \"%s\");\n" \ + " else\n" \ + " edje_object_file_set(o, \"%s\", \"%s\");\n\n" \ + " return o;\n" \ "}\n\n" #define H_CODEGEN_OBJECT_ADD \ @@ -64,118 +64,118 @@ static Eina_List *externals = NULL; " * to edje_codegen\n */\n" \ "Evas_Object *%s_object_add(Evas *e, const char *file);\n\n" -#define C_CODEGEN_DRAG_SET(option) \ - "Eina_Bool\n" \ - "%s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy)\n" \ - "{\n" \ - " return edje_object_part_drag_"#option"_set(o, \"%s\", dx, dy);\n" \ +#define C_CODEGEN_DRAG_SET(option) \ + "Eina_Bool\n" \ + "%s_%s_drag_" #option "_set(Evas_Object *o, double dx, double dy)\n" \ + "{\n" \ + " return edje_object_part_drag_" #option "_set(o, \"%s\", dx, dy);\n" \ + "}\n\n" + +#define H_CODEGEN_DRAG_SET(option) \ + "Eina_Bool %s_%s_drag_" #option "_set(Evas_Object *o, double dx, double dy);\n" + +#define C_CODEGEN_DRAG_GET(option) \ + "Eina_Bool\n" \ + "%s_%s_drag_" #option "_get(Evas_Object *o, double *dx, double *dy)\n" \ + "{\n" \ + " return edje_object_part_drag_" #option "_get(o, \"%s\", dx, dy);\n" \ + "}\n\n" + +#define H_CODEGEN_DRAG_GET(option) \ + "Eina_Bool %s_%s_drag_" #option "_get(Evas_Object *o, double *dx" \ + ", double *dy);\n" + +#define C_CODEGEN_DRAG_ACTION(option) \ + "Eina_Bool\n" \ + "%s_%s_drag_" #option "(Evas_Object *o, double dx, double dy)\n" \ + "{\n" \ + " return edje_object_part_drag_" #option "(o, \"%s\", dx, dy);\n" \ + "}\n\n" + +#define H_CODEGEN_DRAG_ACTION(option) \ + "Eina_Bool %s_%s_drag_" #option "(Evas_Object *o, double dx, double dy);\n" + +#define C_CODEGEN_DRAG_DIR_GET \ + "Edje_Drag_Dir\n" \ + "%s_%s_drag_dir_get(Evas_Object *o)\n" \ + "{\n" \ + " return edje_object_part_drag_dir_get(o, \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_DRAG_SET(option) \ - "Eina_Bool %s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy);\n" - -#define C_CODEGEN_DRAG_GET(option) \ - "Eina_Bool\n" \ - "%s_%s_drag_"#option"_get(Evas_Object *o, double *dx, double *dy)\n" \ - "{\n" \ - " return edje_object_part_drag_"#option"_get(o, \"%s\", dx, dy);\n" \ - "}\n\n" - -#define H_CODEGEN_DRAG_GET(option) \ - "Eina_Bool %s_%s_drag_"#option"_get(Evas_Object *o, double *dx" \ - ", double *dy);\n" - -#define C_CODEGEN_DRAG_ACTION(option) \ - "Eina_Bool\n" \ - "%s_%s_drag_"#option"(Evas_Object *o, double dx, double dy)\n" \ - "{\n" \ - " return edje_object_part_drag_"#option"(o, \"%s\", dx, dy);\n" \ - "}\n\n" - -#define H_CODEGEN_DRAG_ACTION(option) \ - "Eina_Bool %s_%s_drag_"#option"(Evas_Object *o, double dx, double dy);\n" - -#define C_CODEGEN_DRAG_DIR_GET \ - "Edje_Drag_Dir\n" \ - "%s_%s_drag_dir_get(Evas_Object *o)\n" \ - "{\n" \ - " return edje_object_part_drag_dir_get(o, \"%s\");\n" \ - "}\n\n" - -#define H_CODEGEN_DRAG_DIR_GET \ +#define H_CODEGEN_DRAG_DIR_GET \ "Edje_Drag_Dir %s_%s_drag_dir_get(Evas_Object *o);\n" -#define C_CODEGEN_PART_TEXT_SET \ - "void\n" \ - "%s_%s_set(Evas_Object *o, const char *value)\n" \ - "{\n" \ - " edje_object_part_text_set(o, \"%s\", value);\n" \ +#define C_CODEGEN_PART_TEXT_SET \ + "void\n" \ + "%s_%s_set(Evas_Object *o, const char *value)\n" \ + "{\n" \ + " edje_object_part_text_set(o, \"%s\", value);\n" \ "}\n\n" -#define H_CODEGEN_PART_TEXT_SET \ +#define H_CODEGEN_PART_TEXT_SET \ "void %s_%s_set(Evas_Object *o, const char *value);\n" -#define C_CODEGEN_PART_SWALLOW_SET \ - "void\n" \ - "%s_%s_set(Evas_Object *o, Evas_Object *value)\n" \ - "{\n" \ - " edje_object_part_swallow(o, \"%s\", value);\n" \ +#define C_CODEGEN_PART_SWALLOW_SET \ + "void\n" \ + "%s_%s_set(Evas_Object *o, Evas_Object *value)\n" \ + "{\n" \ + " edje_object_part_swallow(o, \"%s\", value);\n" \ "}\n\n" -#define H_CODEGEN_PART_SWALLOW_SET \ +#define H_CODEGEN_PART_SWALLOW_SET \ "void %s_%s_set(Evas_Object *o, Evas_Object *value);\n" -#define C_CODEGEN_PART_TEXT_GET \ - "const char *\n" \ - "%s_%s_get(const Evas_Object *o)\n" \ - "{\n" \ - " return edje_object_part_text_get(o, \"%s\");\n" \ +#define C_CODEGEN_PART_TEXT_GET \ + "const char *\n" \ + "%s_%s_get(const Evas_Object *o)\n" \ + "{\n" \ + " return edje_object_part_text_get(o, \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_PART_TEXT_GET \ +#define H_CODEGEN_PART_TEXT_GET \ "const char *%s_%s_get(const Evas_Object *o);\n" -#define C_CODEGEN_PART_SWALLOW_GET \ - "Evas_Object *\n" \ - "%s_%s_get(const Evas_Object *o)\n" \ - "{\n" \ - " return edje_object_part_swallow_get(o, \"%s\");\n" \ +#define C_CODEGEN_PART_SWALLOW_GET \ + "Evas_Object *\n" \ + "%s_%s_get(const Evas_Object *o)\n" \ + "{\n" \ + " return edje_object_part_swallow_get(o, \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_PART_SWALLOW_GET \ +#define H_CODEGEN_PART_SWALLOW_GET \ "Evas_Object *%s_%s_get(const Evas_Object *o);\n" -#define C_CODEGEN_PART_BOX_APPEND \ - "Eina_Bool\n" \ - "%s_%s_append(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_box_append(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_BOX_APPEND \ + "Eina_Bool\n" \ + "%s_%s_append(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_box_append(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_APPEND \ +#define H_CODEGEN_PART_BOX_APPEND \ "Eina_Bool %s_%s_append(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_BOX_PREPEND \ - "Eina_Bool\n" \ - "%s_%s_prepend(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_box_prepend(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_BOX_PREPEND \ + "Eina_Bool\n" \ + "%s_%s_prepend(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_box_prepend(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_PREPEND \ +#define H_CODEGEN_PART_BOX_PREPEND \ "Eina_Bool %s_%s_prepend(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_BOX_INSERT_BEFORE \ - "Eina_Bool\n" \ - "%s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ - "const Evas_Object *reference)\n" \ - "{\n" \ - " return edje_object_part_box_insert_before(o, \"%s\", " \ - "child, reference);\n" \ +#define C_CODEGEN_PART_BOX_INSERT_BEFORE \ + "Eina_Bool\n" \ + "%s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ + "const Evas_Object *reference)\n" \ + "{\n" \ + " return edje_object_part_box_insert_before(o, \"%s\", " \ + "child, reference);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_INSERT_BEFORE \ - "Eina_Bool %s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ +#define H_CODEGEN_PART_BOX_INSERT_BEFORE \ + "Eina_Bool %s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ "const Evas_Object *reference);\n" #define C_CODEGEN_PART_BOX_INSERT_AT \ @@ -185,38 +185,38 @@ static Eina_List *externals = NULL; " return edje_object_part_box_insert_at(o, \"%s\", child, pos);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_INSERT_AT \ - "Eina_Bool %s_%s_insert_at(Evas_Object *o, Evas_Object *child, " \ +#define H_CODEGEN_PART_BOX_INSERT_AT \ + "Eina_Bool %s_%s_insert_at(Evas_Object *o, Evas_Object *child, " \ "unsigned int pos);\n" -#define C_CODEGEN_PART_BOX_REMOVE \ - "Evas_Object *\n" \ - "%s_%s_remove(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_box_remove(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_BOX_REMOVE \ + "Evas_Object *\n" \ + "%s_%s_remove(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_box_remove(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_REMOVE \ +#define H_CODEGEN_PART_BOX_REMOVE \ "Evas_Object *%s_%s_remove(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_BOX_REMOVE_AT \ - "Evas_Object *\n" \ - "%s_%s_remove_at(Evas_Object *o, unsigned int pos)\n" \ - "{\n" \ - " return edje_object_part_box_remove_at(o, \"%s\", pos);\n" \ +#define C_CODEGEN_PART_BOX_REMOVE_AT \ + "Evas_Object *\n" \ + "%s_%s_remove_at(Evas_Object *o, unsigned int pos)\n" \ + "{\n" \ + " return edje_object_part_box_remove_at(o, \"%s\", pos);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_REMOVE_AT \ +#define H_CODEGEN_PART_BOX_REMOVE_AT \ "Evas_Object *%s_%s_remove_at(Evas_Object *o, unsigned int pos);\n" -#define C_CODEGEN_PART_BOX_REMOVE_ALL \ - "Eina_Bool\n" \ - "%s_%s_remove_all(Evas_Object *o, Eina_Bool clear)\n" \ - "{\n" \ - " return edje_object_part_box_remove_all(o, \"%s\", clear);\n" \ +#define C_CODEGEN_PART_BOX_REMOVE_ALL \ + "Eina_Bool\n" \ + "%s_%s_remove_all(Evas_Object *o, Eina_Bool clear)\n" \ + "{\n" \ + " return edje_object_part_box_remove_all(o, \"%s\", clear);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_REMOVE_ALL \ +#define H_CODEGEN_PART_BOX_REMOVE_ALL \ "Eina_Bool %s_%s_remove_all(Evas_Object *o, Eina_Bool clear);\n" #define C_CODEGEN_PART_TABLE_CHILD_GET \ @@ -226,8 +226,8 @@ static Eina_List *externals = NULL; " return edje_object_part_table_child_get(o, \"%s\", col, row);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_CHILD_GET \ - "Evas_Object * %s_%s_child_get(Evas_Object *o, unsigned int col, " \ +#define H_CODEGEN_PART_TABLE_CHILD_GET \ + "Evas_Object * %s_%s_child_get(Evas_Object *o, unsigned int col, " \ "unsigned int row);\n" #define C_CODEGEN_PART_TABLE_PACK \ @@ -239,132 +239,132 @@ static Eina_List *externals = NULL; "colspan, rowspan);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_PACK \ - "Eina_Bool %s_%s_pack(Evas_Object *o, Evas_Object *child, " \ - "unsigned short col, unsigned short row, unsigned short " \ +#define H_CODEGEN_PART_TABLE_PACK \ + "Eina_Bool %s_%s_pack(Evas_Object *o, Evas_Object *child, " \ + "unsigned short col, unsigned short row, unsigned short " \ "colspan, unsigned short rowspan);\n" -#define C_CODEGEN_PART_TABLE_UNPACK \ - "Eina_Bool\n" \ - "%s_%s_unpack(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_table_unpack(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_TABLE_UNPACK \ + "Eina_Bool\n" \ + "%s_%s_unpack(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_table_unpack(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_UNPACK \ +#define H_CODEGEN_PART_TABLE_UNPACK \ "Eina_Bool %s_%s_unpack(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_TABLE_CLEAR \ - "Eina_Bool\n" \ - "%s_%s_clear(Evas_Object *o, Eina_Bool clear)\n" \ - "{\n" \ - " return edje_object_part_table_clear(o, \"%s\", clear);\n" \ +#define C_CODEGEN_PART_TABLE_CLEAR \ + "Eina_Bool\n" \ + "%s_%s_clear(Evas_Object *o, Eina_Bool clear)\n" \ + "{\n" \ + " return edje_object_part_table_clear(o, \"%s\", clear);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_CLEAR \ +#define H_CODEGEN_PART_TABLE_CLEAR \ "Eina_Bool %s_%s_clear(Evas_Object *o, Eina_Bool clear);\n" -#define C_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ - "Eina_Bool\n" \ - "%s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows)\n" \ - "{\n" \ - " return edje_object_part_table_col_row_size_get(o, \"%s\", " \ - "cols, rows);\n" \ +#define C_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ + "Eina_Bool\n" \ + "%s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows)\n" \ + "{\n" \ + " return edje_object_part_table_col_row_size_get(o, \"%s\", " \ + "cols, rows);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ +#define H_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ "Eina_Bool %s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows);\n" -#define C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field) \ - "Eina_Bool\n" \ - "%s_%s_%s_set(Evas_Object *o, "type"value)\n" \ - "{\n" \ - " Edje_External_Param param;\n\n" \ - " param.name = \"%s\";\n" \ - " param.type = "param_type";\n" \ - " param."field" = value;\n" \ - " return edje_object_part_external_param_set(o, \"%s\", ¶m);\n" \ +#define C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field) \ + "Eina_Bool\n" \ + "%s_%s_%s_set(Evas_Object *o, "type "value)\n" \ + "{\n" \ + " Edje_External_Param param;\n\n" \ + " param.name = \"%s\";\n" \ + " param.type = "param_type ";\n" \ + " param."field " = value;\n" \ + " return edje_object_part_external_param_set(o, \"%s\", ¶m);\n" \ + "}\n\n" + +#define H_CODEGEN_PART_EXTERNAL_PARAM_SET(type) \ + "Eina_Bool %s_%s_%s_set(Evas_Object *o, "type "value);\n" + +#define C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field) \ + "Eina_Bool\n" \ + "%s_%s_%s_get(Evas_Object *o, "type "*value)\n" \ + "{\n" \ + " if (!value) return EINA_FALSE;\n\n" \ + " Edje_External_Param param;\n\n" \ + " param.name = \"%s\";\n" \ + " param.type = "param_type ";\n" \ + " if (!edje_object_part_external_param_get(o, \"%s\", ¶m))\n" \ + " return EINA_FALSE;\n\n" \ + " *value = param."field ";\n" \ + " return EINA_TRUE;\n" \ + "}\n\n" + +#define H_CODEGEN_PART_EXTERNAL_PARAM_GET(type) \ + "Eina_Bool %s_%s_%s_get(Evas_Object *o, "type "*value);\n" + +#define C_CODEGEN_PROGRAM_EMIT \ + "void\n" \ + "%s_%s_emit(Evas_Object *o)\n" \ + "{\n" \ + " edje_object_signal_emit(o, \"%s\", \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_PART_EXTERNAL_PARAM_SET(type) \ - "Eina_Bool %s_%s_%s_set(Evas_Object *o, "type"value);\n" - -#define C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field) \ - "Eina_Bool\n" \ - "%s_%s_%s_get(Evas_Object *o, "type"*value)\n" \ - "{\n" \ - " if (!value) return EINA_FALSE;\n\n" \ - " Edje_External_Param param;\n\n" \ - " param.name = \"%s\";\n" \ - " param.type = "param_type";\n" \ - " if (!edje_object_part_external_param_get(o, \"%s\", ¶m))\n" \ - " return EINA_FALSE;\n\n" \ - " *value = param."field";\n" \ - " return EINA_TRUE;\n" \ - "}\n\n" - -#define H_CODEGEN_PART_EXTERNAL_PARAM_GET(type) \ - "Eina_Bool %s_%s_%s_get(Evas_Object *o, "type"*value);\n" - -#define C_CODEGEN_PROGRAM_EMIT \ - "void\n" \ - "%s_%s_emit(Evas_Object *o)\n" \ - "{\n" \ - " edje_object_signal_emit(o, \"%s\", \"%s\");\n" \ - "}\n\n" - -#define H_CODEGEN_PROGRAM_EMIT \ +#define H_CODEGEN_PROGRAM_EMIT \ "void %s_%s_emit(Evas_Object *o);\n" -#define C_CODEGEN_PROGRAM_CALLBACK_ADD \ - "void\n" \ - "%s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ - "{\n" \ - " edje_object_signal_callback_add(o, \"%s\", \"%s\", func, data);\n" \ +#define C_CODEGEN_PROGRAM_CALLBACK_ADD \ + "void\n" \ + "%s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ + "{\n" \ + " edje_object_signal_callback_add(o, \"%s\", \"%s\", func, data);\n" \ "}\n\n" -#define H_CODEGEN_PROGRAM_CALLBACK_ADD \ - "void %s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, " \ +#define H_CODEGEN_PROGRAM_CALLBACK_ADD \ + "void %s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, " \ "void *data);\n" -#define C_CODEGEN_PROGRAM_CALLBACK_DEL \ - "void\n" \ - "%s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ - "{\n" \ - " edje_object_signal_callback_del_full(o, \"%s\", \"%s\", func, data);\n" \ +#define C_CODEGEN_PROGRAM_CALLBACK_DEL \ + "void\n" \ + "%s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ + "{\n" \ + " edje_object_signal_callback_del_full(o, \"%s\", \"%s\", func, data);\n" \ "}\n\n" -#define H_CODEGEN_PROGRAM_CALLBACK_DEL \ - "void %s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, " \ +#define H_CODEGEN_PROGRAM_CALLBACK_DEL \ + "void %s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, " \ "void *data);\n" - typedef struct _Part_External_Info Part_External_Info; -struct _Part_External_Info { - const char *description, *name, *source; - char *apiname; - Eina_Bool draggable; +struct _Part_External_Info +{ + const char *description, *name, *source; + char *apiname; + Eina_Bool draggable; }; const Ecore_Getopt optdesc = { - "edje_codegen", - "%prog [options] ", - PACKAGE_VERSION, - "(C) 2012 - The Enlightenment Project", - "BSD", - "Edje generates the boilerplate code to get and set the " - "parts of a group from a compiled (binary) edje " - "file avoiding common errors with typos.\n", - 0, - { - ECORE_GETOPT_STORE_STR('p', "prefix", "The prefix for the " \ - "generataed code."), - ECORE_GETOPT_LICENSE('L', "license"), - ECORE_GETOPT_COPYRIGHT('C', "copyright"), - ECORE_GETOPT_VERSION('V', "version"), - ECORE_GETOPT_HELP('h', "help"), - ECORE_GETOPT_SENTINEL - } + "edje_codegen", + "%prog [options] ", + PACKAGE_VERSION, + "(C) 2012 - The Enlightenment Project", + "BSD", + "Edje generates the boilerplate code to get and set the " + "parts of a group from a compiled (binary) edje " + "file avoiding common errors with typos.\n", + 0, + { + ECORE_GETOPT_STORE_STR('p', "prefix", "The prefix for the " \ + "generataed code."), + ECORE_GETOPT_LICENSE('L', "license"), + ECORE_GETOPT_COPYRIGHT('C', "copyright"), + ECORE_GETOPT_VERSION('V', "version"), + ECORE_GETOPT_HELP('h', "help"), + ECORE_GETOPT_SENTINEL + } }; static char * @@ -397,7 +397,7 @@ _open_file_descriptors(const char *source, const char *header) return EINA_TRUE; - err: +err: fclose(header_fd); return EINA_FALSE; } @@ -426,15 +426,15 @@ _write_headers(const char *filename) snprintf(buf, sizeof(buf), H_HEADER, str, str); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) { - free(str); - return EINA_FALSE; + free(str); + return EINA_FALSE; } free(str); snprintf(buf, sizeof(buf), C_HEADER, filename); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) - return EINA_FALSE; + return EINA_FALSE; return EINA_TRUE; } @@ -449,8 +449,8 @@ _write_footer(const char *filename) snprintf(buf, sizeof(buf), H_FOOTER, str); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) { - free(str); - return EINA_FALSE; + free(str); + return EINA_FALSE; } free(str); @@ -479,20 +479,20 @@ _write_part_draggable(const char *apiname, const char *partname) { char buf[1024]; -#define TEMPLATE_DRAGGABLE(sufix, option) \ - do { \ - const char *template; \ - template = C_CODEGEN_DRAG_##sufix(option); \ - snprintf(buf, sizeof(buf), template, prefix, apiname, \ - partname); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - return EINA_FALSE; \ - template = H_CODEGEN_DRAG_##sufix(option); \ - snprintf(buf, sizeof(buf), template, prefix, \ - apiname); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - return EINA_FALSE; \ - } while (0) +#define TEMPLATE_DRAGGABLE(sufix, option) \ + do { \ + const char *template; \ + template = C_CODEGEN_DRAG_##sufix(option); \ + snprintf(buf, sizeof(buf), template, prefix, apiname, \ + partname); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + return EINA_FALSE; \ + template = H_CODEGEN_DRAG_##sufix(option); \ + snprintf(buf, sizeof(buf), template, prefix, \ + apiname); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + return EINA_FALSE; \ + } while (0) TEMPLATE_DRAGGABLE(SET, value); TEMPLATE_DRAGGABLE(GET, value); @@ -508,7 +508,7 @@ _write_part_draggable(const char *apiname, const char *partname) #undef TEMPLATE_DRAGGABLE snprintf(buf, sizeof(buf), C_CODEGEN_DRAG_DIR_GET, prefix, - apiname, partname); + apiname, partname); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) return EINA_FALSE; snprintf(buf, sizeof(buf), H_CODEGEN_DRAG_DIR_GET, prefix, apiname); @@ -520,55 +520,60 @@ _write_part_draggable(const char *apiname, const char *partname) static Eina_Bool _write_part_external_param(const Part_External_Info *info, - const Edje_External_Param_Info *param) + const Edje_External_Param_Info *param) { const char *template; char buf[1024]; -#define WRITE_TEMPLATE(type, param_type, field) \ - do { \ - template = C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name, param->name, info->name); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - return EINA_FALSE; \ - template = H_CODEGEN_PART_EXTERNAL_PARAM_SET(type); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - return EINA_FALSE; \ - template = \ - C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name, param->name, info->name); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - return EINA_FALSE; \ - template = H_CODEGEN_PART_EXTERNAL_PARAM_GET(type); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - return EINA_FALSE; \ - } while (0) +#define WRITE_TEMPLATE(type, param_type, field) \ + do { \ + template = C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name, param->name, info->name); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + return EINA_FALSE; \ + template = H_CODEGEN_PART_EXTERNAL_PARAM_SET(type); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + return EINA_FALSE; \ + template = \ + C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name, param->name, info->name); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + return EINA_FALSE; \ + template = H_CODEGEN_PART_EXTERNAL_PARAM_GET(type); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + return EINA_FALSE; \ + } while (0) switch (param->type) { case EDJE_EXTERNAL_PARAM_TYPE_INT: - WRITE_TEMPLATE("int ", "EDJE_EXTERNAL_PARAM_TYPE_INT", "i"); - break; + WRITE_TEMPLATE("int ", "EDJE_EXTERNAL_PARAM_TYPE_INT", "i"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: - WRITE_TEMPLATE("double ", "EDJE_EXTERNAL_PARAM_TYPE_DOUBLE", "d"); - break; + WRITE_TEMPLATE("double ", "EDJE_EXTERNAL_PARAM_TYPE_DOUBLE", "d"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_STRING: - WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_STRING", "s"); - break; + WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_STRING", "s"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_BOOL: - WRITE_TEMPLATE("Eina_Bool ", "EDJE_EXTERNAL_PARAM_TYPE_BOOL", "i"); - break; + WRITE_TEMPLATE("Eina_Bool ", "EDJE_EXTERNAL_PARAM_TYPE_BOOL", "i"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: - WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_CHOICE", "s"); - break; + WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_CHOICE", "s"); + break; + default: - break; + break; } #undef WRITE_TEMPLATE @@ -606,49 +611,48 @@ _write_part_external(Eina_List **parts) continue; } - EINA_LIST_FOREACH_SAFE(*parts, l, l_next, ei) - { - if (!strcmp(ei->source, name)) - { - if (ei->description) - { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", - ei->description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - { - ret = EINA_FALSE; - goto end; - } - } + EINA_LIST_FOREACH_SAFE(*parts, l, l_next, ei) + { + if (!strcmp(ei->source, name)) + { + if (ei->description) + { + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", + ei->description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + { + ret = EINA_FALSE; + goto end; + } + } if (ei->draggable) { - if (!_write_part_draggable(ei->apiname, ei->name)) - { - ret = EINA_FALSE; - goto end; - } + if (!_write_part_draggable(ei->apiname, ei->name)) + { + ret = EINA_FALSE; + goto end; + } } - for (param = type->parameters_info; param->name != NULL; - param++) - if (!_write_part_external_param(ei, param)) - { - ret = EINA_FALSE; - goto end; - } + for (param = type->parameters_info; param->name != NULL; + param++) + if (!_write_part_external_param(ei, param)) + { + ret = EINA_FALSE; + goto end; + } - edje_edit_string_free(ei->description); - free(ei->apiname); - free(ei); + edje_edit_string_free(ei->description); + free(ei->apiname); + free(ei); - *parts = eina_list_remove_list(*parts, l); - - } - } + *parts = eina_list_remove_list(*parts, l); + } + } } - end: +end: if (eina_list_count(*parts) == 0) *parts = NULL; eina_iterator_free(itr); @@ -661,57 +665,57 @@ _write_part(const char *apiname, const char *partname, Edje_Part_Type parttype, { char buf[512]; -#define TEMPLATE_NAME(sufix) \ - do { \ - snprintf(buf, sizeof(buf), C_CODEGEN_##sufix, prefix, \ - apiname, partname); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - goto err; \ - snprintf(buf, sizeof(buf), H_CODEGEN_##sufix, prefix, \ - apiname); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - goto err; \ - } while (0) +#define TEMPLATE_NAME(sufix) \ + do { \ + snprintf(buf, sizeof(buf), C_CODEGEN_##sufix, prefix, \ + apiname, partname); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + goto err; \ + snprintf(buf, sizeof(buf), H_CODEGEN_##sufix, prefix, \ + apiname); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + goto err; \ + } while (0) if (description) { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - goto err; + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + goto err; } switch (parttype) { case EDJE_PART_TYPE_BOX: - TEMPLATE_NAME(PART_BOX_APPEND); - TEMPLATE_NAME(PART_BOX_PREPEND); - TEMPLATE_NAME(PART_BOX_INSERT_BEFORE); - TEMPLATE_NAME(PART_BOX_INSERT_AT); - TEMPLATE_NAME(PART_BOX_REMOVE); - TEMPLATE_NAME(PART_BOX_REMOVE_AT); - TEMPLATE_NAME(PART_BOX_REMOVE_ALL); - break; + TEMPLATE_NAME(PART_BOX_APPEND); + TEMPLATE_NAME(PART_BOX_PREPEND); + TEMPLATE_NAME(PART_BOX_INSERT_BEFORE); + TEMPLATE_NAME(PART_BOX_INSERT_AT); + TEMPLATE_NAME(PART_BOX_REMOVE); + TEMPLATE_NAME(PART_BOX_REMOVE_AT); + TEMPLATE_NAME(PART_BOX_REMOVE_ALL); + break; case EDJE_PART_TYPE_TABLE: - TEMPLATE_NAME(PART_TABLE_PACK); - TEMPLATE_NAME(PART_TABLE_UNPACK); - TEMPLATE_NAME(PART_TABLE_CHILD_GET); - TEMPLATE_NAME(PART_TABLE_CLEAR); - TEMPLATE_NAME(PART_TABLE_COL_ROW_SIZE_GET); - break; + TEMPLATE_NAME(PART_TABLE_PACK); + TEMPLATE_NAME(PART_TABLE_UNPACK); + TEMPLATE_NAME(PART_TABLE_CHILD_GET); + TEMPLATE_NAME(PART_TABLE_CLEAR); + TEMPLATE_NAME(PART_TABLE_COL_ROW_SIZE_GET); + break; case EDJE_PART_TYPE_TEXT: - TEMPLATE_NAME(PART_TEXT_SET); - TEMPLATE_NAME(PART_TEXT_GET); - break; + TEMPLATE_NAME(PART_TEXT_SET); + TEMPLATE_NAME(PART_TEXT_GET); + break; case EDJE_PART_TYPE_SWALLOW: - TEMPLATE_NAME(PART_SWALLOW_SET); - TEMPLATE_NAME(PART_SWALLOW_GET); - break; + TEMPLATE_NAME(PART_SWALLOW_SET); + TEMPLATE_NAME(PART_SWALLOW_GET); + break; default: - break; + break; } if (draggable) @@ -722,7 +726,7 @@ _write_part(const char *apiname, const char *partname, Edje_Part_Type parttype, return EINA_TRUE; - err: +err: ERR("Could not write the part: %s", partname); return EINA_FALSE; } @@ -783,71 +787,71 @@ _parse_parts(Evas_Object *ed) parts = edje_edit_parts_list_get(ed); EINA_LIST_FOREACH(parts, l, name) { - if (!(apiname = _part_api_name_get(ed, name))) - { - DBG("filter out part '%s': not API.", name); - continue; - } + if (!(apiname = _part_api_name_get(ed, name))) + { + DBG("filter out part '%s': not API.", name); + continue; + } - type = edje_edit_part_type_get(ed, name); - if (!((type == EDJE_PART_TYPE_TEXT) || - (type == EDJE_PART_TYPE_SWALLOW) || - (type == EDJE_PART_TYPE_BOX) || - (type == EDJE_PART_TYPE_EXTERNAL) || - (type == EDJE_PART_TYPE_IMAGE) || - (type == EDJE_PART_TYPE_TABLE))) - { - ERR("Invalid part type %d", type); - free(apiname); - continue; - } + type = edje_edit_part_type_get(ed, name); + if (!((type == EDJE_PART_TYPE_TEXT) || + (type == EDJE_PART_TYPE_SWALLOW) || + (type == EDJE_PART_TYPE_BOX) || + (type == EDJE_PART_TYPE_EXTERNAL) || + (type == EDJE_PART_TYPE_IMAGE) || + (type == EDJE_PART_TYPE_TABLE))) + { + ERR("Invalid part type %d", type); + free(apiname); + continue; + } if (edje_edit_part_drag_x_get(ed, name) || edje_edit_part_drag_y_get(ed, name)) - draggable = EINA_TRUE; + draggable = EINA_TRUE; else - draggable = EINA_FALSE; + draggable = EINA_FALSE; - description = edje_edit_part_api_description_get(ed, name); - if (type == EDJE_PART_TYPE_EXTERNAL) - { - ei = calloc(1, sizeof(Part_External_Info)); - if (!ei) + description = edje_edit_part_api_description_get(ed, name); + if (type == EDJE_PART_TYPE_EXTERNAL) + { + ei = calloc(1, sizeof(Part_External_Info)); + if (!ei) { free(apiname); goto end; } - ei->description = description; - ei->source = edje_edit_part_source_get(ed, name); - ei->apiname = apiname; - ei->name = name; - ei->draggable = draggable; + ei->description = description; + ei->source = edje_edit_part_source_get(ed, name); + ei->apiname = apiname; + ei->name = name; + ei->draggable = draggable; - parts_external = eina_list_append(parts_external, ei); - } - else - { - if (!_write_part(apiname, name, type, description, draggable)) - { - ret = EINA_FALSE; - edje_edit_string_free(description); - free(apiname); - goto end; - } + parts_external = eina_list_append(parts_external, ei); + } + else + { + if (!_write_part(apiname, name, type, description, draggable)) + { + ret = EINA_FALSE; + edje_edit_string_free(description); + free(apiname); + goto end; + } - edje_edit_string_free(description); - free(apiname); - } + edje_edit_string_free(description); + free(apiname); + } } ret = _write_part_external(&parts_external); - end: +end: edje_edit_string_list_free(parts); EINA_LIST_FREE(parts_external, ei) { - edje_edit_string_free(ei->description); - free(ei->apiname); - free(ei); + edje_edit_string_free(ei->description); + free(ei->apiname); + free(ei); } return ret; @@ -855,70 +859,70 @@ _parse_parts(Evas_Object *ed) static Eina_Bool _write_program_emit(const char *apiname, const char *source, const char *sig, - const char *description) + const char *description) { char buf[512]; snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_EMIT, prefix, - apiname, sig, source); + apiname, sig, source); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) goto err; if (description) { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - goto err; + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + goto err; } snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_EMIT, prefix, - apiname); + apiname); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) goto err; return EINA_TRUE; - err: +err: ERR("Could not write the program: %s", apiname); return EINA_FALSE; } static Eina_Bool _write_program_add(const char *apiname, const char *source, const char *sig, - const char *description) + const char *description) { - char buf[512]; + char buf[512]; snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_ADD, prefix, - apiname, sig, source); + apiname, sig, source); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) goto err; snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_DEL, prefix, - apiname, sig, source); + apiname, sig, source); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) goto err; if (description) { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - goto err; + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + goto err; } snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_ADD, prefix, - apiname); + apiname); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) goto err; snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_DEL, prefix, - apiname); + apiname); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) goto err; return EINA_TRUE; - err: +err: ERR("Could not write the program [action]: %s", apiname); return EINA_FALSE; } @@ -948,68 +952,68 @@ _parse_programs(Evas_Object *ed) programs = edje_edit_programs_list_get(ed); EINA_LIST_FOREACH(programs, l, name) { - if (!(apiname = _program_api_name_get(ed, name))) - { - DBG("filter out program '%s': not API.", name); - continue; - } + if (!(apiname = _program_api_name_get(ed, name))) + { + DBG("filter out program '%s': not API.", name); + continue; + } - description = edje_edit_program_api_description_get(ed, name); - type = edje_edit_program_action_get(ed, name); - if (type == EDJE_ACTION_TYPE_SIGNAL_EMIT) - { - const char *str, *str2; - str = edje_edit_program_state_get(ed, name); - str2 = edje_edit_program_state2_get(ed, name); + description = edje_edit_program_api_description_get(ed, name); + type = edje_edit_program_action_get(ed, name); + if (type == EDJE_ACTION_TYPE_SIGNAL_EMIT) + { + const char *str, *str2; + str = edje_edit_program_state_get(ed, name); + str2 = edje_edit_program_state2_get(ed, name); - if (!_write_program_add(apiname, str2, str, description)) - { - ret = EINA_FALSE; - edje_edit_string_free(str); - edje_edit_string_free(str2); - break; - } + if (!_write_program_add(apiname, str2, str, description)) + { + ret = EINA_FALSE; + edje_edit_string_free(str); + edje_edit_string_free(str2); + break; + } - edje_edit_string_free(str); - edje_edit_string_free(str2); - } + edje_edit_string_free(str); + edje_edit_string_free(str2); + } - sig = edje_edit_program_signal_get(ed, name); - if (!sig) - { - free(apiname); - edje_edit_string_free(description); - continue; - } + sig = edje_edit_program_signal_get(ed, name); + if (!sig) + { + free(apiname); + edje_edit_string_free(description); + continue; + } - source = edje_edit_program_source_get(ed, name); - if (!source) - { - free(apiname); - edje_edit_string_free(sig); - edje_edit_string_free(description); - continue; - } + source = edje_edit_program_source_get(ed, name); + if (!source) + { + free(apiname); + edje_edit_string_free(sig); + edje_edit_string_free(description); + continue; + } - if (!_write_program_emit(apiname, source, sig, description)) - { - ret = EINA_FALSE; - break; - } + if (!_write_program_emit(apiname, source, sig, description)) + { + ret = EINA_FALSE; + break; + } - edje_edit_string_free(description); - edje_edit_string_free(sig); - edje_edit_string_free(source); - free(apiname); + edje_edit_string_free(description); + edje_edit_string_free(sig); + edje_edit_string_free(source); + free(apiname); } edje_edit_string_list_free(programs); if (!ret) { - edje_edit_string_free(description); - edje_edit_string_free(sig); - edje_edit_string_free(source); - free(apiname); + edje_edit_string_free(description); + edje_edit_string_free(sig); + edje_edit_string_free(source); + free(apiname); } return ret; @@ -1023,8 +1027,8 @@ _module_matches(const char *module) EINA_LIST_FOREACH(externals, l, name) { - if (!strcmp(module, name)) - return EINA_TRUE; + if (!strcmp(module, name)) + return EINA_TRUE; } return EINA_FALSE; @@ -1043,36 +1047,36 @@ _parse(void) ed = edje_edit_object_add(ecore_evas_get(ee)); if (!edje_object_file_set(ed, file, group)) { - Edje_Load_Error err = edje_object_load_error_get(ed); - const char *errmsg = edje_load_error_str(err); - ERR("could not load group '%s' from file '%s': %s", - group, file, errmsg); - evas_object_del(ed); - return EINA_FALSE; + Edje_Load_Error err = edje_object_load_error_get(ed); + const char *errmsg = edje_load_error_str(err); + ERR("could not load group '%s' from file '%s': %s", + group, file, errmsg); + evas_object_del(ed); + return EINA_FALSE; } externals = edje_edit_externals_list_get(ed); if (externals) { - EINA_LIST_FOREACH(modules_available, l, module_name) - { - if (_module_matches(module_name)) - { - if (!edje_module_load(module_name)) - { - ERR("error loading external '%s'", module_name); - continue; - } - modules_loaded++; - } - } + EINA_LIST_FOREACH(modules_available, l, module_name) + { + if (_module_matches(module_name)) + { + if (!edje_module_load(module_name)) + { + ERR("error loading external '%s'", module_name); + continue; + } + modules_loaded++; + } + } } if (eina_list_count(externals) != modules_loaded) { - edje_edit_string_list_free(externals); - evas_object_del(ed); - return EINA_FALSE; + edje_edit_string_list_free(externals); + evas_object_del(ed); + return EINA_FALSE; } ret = _parse_parts(ed) && _parse_programs(ed); @@ -1088,12 +1092,12 @@ main(int argc, char *argv[]) char *source, *header; int arg_index, ret = 0; Ecore_Getopt_Value values[] = { - ECORE_GETOPT_VALUE_STR(prefix), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_NONE + ECORE_GETOPT_VALUE_STR(prefix), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_NONE }; setlocale(LC_NUMERIC, "C"); @@ -1109,7 +1113,7 @@ main(int argc, char *argv[]) { fprintf(stderr, "Missing action. See '--help or -h'.\n"); ret = 1; - goto error_log; + goto error_log; } _log_dom = eina_log_domain_register("edje_codegen", EINA_COLOR_YELLOW); @@ -1127,13 +1131,14 @@ main(int argc, char *argv[]) ret = 1; goto error_getopt; } - else if (quit_option) goto error_getopt; + else if (quit_option) + goto error_getopt; else if (arg_index != argc - 4) { - fprintf(stderr, "Incorrect number of parameters. Requires " \ - "fours arguments, an edje, the group, " \ - "the source output (foo.c) and the header(foo.h).\n" \ - "See %s --help\n", argv[0]); + fprintf(stderr, "Incorrect number of parameters. Requires " \ + "fours arguments, an edje, the group, " \ + "the source output (foo.c) and the header(foo.h).\n" \ + "See %s --help\n", argv[0]); ret = 1; goto error_getopt; } @@ -1155,70 +1160,70 @@ main(int argc, char *argv[]) if (!edje_file_group_exists(file, group)) { - ERR("The group %s not exists", group); - ret = 2; - goto error_getopt; + ERR("The group %s not exists", group); + ret = 2; + goto error_getopt; } ee = ecore_evas_buffer_new(1, 1); if (!ee) { - ERR("could not create ecore_evas_buffer"); - ret = 3; - goto error_getopt; + ERR("could not create ecore_evas_buffer"); + ret = 3; + goto error_getopt; } if (!_open_file_descriptors(source, header)) { - ERR("Could not create the source files, error %d (%s)", - errno, strerror(errno)); - ret = 4; - goto error_getopt; + ERR("Could not create the source files, error %d (%s)", + errno, strerror(errno)); + ret = 4; + goto error_getopt; } if (!_write_headers(header)) { - ERR("Could not write the header, error %d (%s)", - errno, strerror(errno)); - ret = 5; - goto error_getopt; + ERR("Could not write the header, error %d (%s)", + errno, strerror(errno)); + ret = 5; + goto error_getopt; } if (!_write_object_get()) { - ERR("Could not write the object get, error %d (%s)", - errno, strerror(errno)); - ret = 6; - goto error_getopt; + ERR("Could not write the object get, error %d (%s)", + errno, strerror(errno)); + ret = 6; + goto error_getopt; } if (!_parse()) { - ERR("Could not parsing the EDJE"); - ret = 7; - goto error_getopt; + ERR("Could not parsing the EDJE"); + ret = 7; + goto error_getopt; } if (!_write_footer(header)) { - ERR("Could not write the footer, error %d (%s)", - errno, strerror(errno)); - ret = 8; - goto error_getopt; + ERR("Could not write the footer, error %d (%s)", + errno, strerror(errno)); + ret = 8; + goto error_getopt; } if (!_close_file_descriptors()) { - ERR("Could not close the source files, error %d (%s)", - errno, strerror(errno)); - ret = 9; + ERR("Could not close the source files, error %d (%s)", + errno, strerror(errno)); + ret = 9; } - error_getopt: +error_getopt: if (ee) ecore_evas_free(ee); - error_log: +error_log: edje_shutdown(); ecore_evas_shutdown(); ecore_shutdown(); @@ -1227,9 +1232,10 @@ main(int argc, char *argv[]) if (ret > 4) { - unlink(header); - unlink(source); + unlink(header); + unlink(source); } return ret; } + diff --git a/src/bin/edje/edje_convert.c b/src/bin/edje/edje_convert.c index eb113a7fee..4e81ff1b28 100644 --- a/src/bin/edje/edje_convert.c +++ b/src/bin/edje/edje_convert.c @@ -37,8 +37,8 @@ _edje_file_convert_external(Edje_File *edf, Old_Edje_File *oedf) EINA_LIST_FREE(oedf->external_dir->entries, ede) { - edf->external_dir->entries[i++].entry = ede->entry; - free(ede); + edf->external_dir->entries[i++].entry = ede->entry; + free(ede); } free(oedf->external_dir); @@ -72,10 +72,10 @@ _edje_file_convert_images(Edje_File *edf, Old_Edje_File *oedf) EINA_LIST_FREE(oedf->image_dir->entries, de) { - memcpy(edf->image_dir->entries + de->id, - de, - sizeof (Edje_Image_Directory_Entry)); - free(de); + memcpy(edf->image_dir->entries + de->id, + de, + sizeof (Edje_Image_Directory_Entry)); + free(de); } max = -1; @@ -88,17 +88,17 @@ _edje_file_convert_images(Edje_File *edf, Old_Edje_File *oedf) if (!edf->image_dir->sets && edf->image_dir->sets_count) { - free(edf->image_dir->entries); - edf->image_dir->entries = NULL; - return EINA_FALSE; + free(edf->image_dir->entries); + edf->image_dir->entries = NULL; + return EINA_FALSE; } EINA_LIST_FREE(oedf->image_dir->sets, ds) { - memcpy(edf->image_dir->sets + ds->id, - ds, - sizeof (Edje_Image_Directory_Set)); - free(ds); + memcpy(edf->image_dir->sets + ds->id, + ds, + sizeof (Edje_Image_Directory_Set)); + free(ds); } return EINA_TRUE; @@ -129,15 +129,15 @@ _edje_file_convert(Eet_File *ef, Old_Edje_File *oedf) EINA_LIST_FREE(oedf->data, ed) { - Edje_String *es; + Edje_String *es; - es = calloc(1, sizeof (Edje_String)); - if (!es) continue; + es = calloc(1, sizeof (Edje_String)); + if (!es) continue; - es->str = ed->value; + es->str = ed->value; - eina_hash_direct_add(edf->data, ed->key, es); - free(ed); + eina_hash_direct_add(edf->data, ed->key, es); + free(ed); } EINA_LIST_FOREACH(oedf->collection_dir->entries, l, ce) @@ -148,7 +148,7 @@ _edje_file_convert(Eet_File *ef, Old_Edje_File *oedf) if (oedf->font_dir) EINA_LIST_FOREACH(oedf->font_dir->entries, l, fnt) - eina_hash_direct_add(edf->fonts, fnt->entry, fnt); + eina_hash_direct_add(edf->fonts, fnt->entry, fnt); if (!_edje_file_convert_images(edf, oedf)) goto on_error; @@ -174,7 +174,7 @@ _edje_file_convert(Eet_File *ef, Old_Edje_File *oedf) return edf; - on_error: +on_error: eina_hash_free(edf->fonts); eina_hash_free(edf->collection); eina_hash_free(edf->data); @@ -186,12 +186,12 @@ _edje_file_convert(Eet_File *ef, Old_Edje_File *oedf) static void _edje_collection_program_add(Edje_Program ***array, - unsigned int *count, - Edje_Program *add) + unsigned int *count, + Edje_Program *add) { Edje_Program **tmp; - tmp = realloc(*array, sizeof (Edje_Program*) * (*count + 1)); + tmp = realloc(*array, sizeof (Edje_Program *) * (*count + 1)); if (!tmp) { error_and_abort(ef, "Not enough memory"); @@ -218,40 +218,40 @@ _edje_collection_convert(Eet_File *ef, Edje_Part_Collection_Directory_Entry *ce, /* Count each type part and their respective state */ EINA_LIST_FOREACH(oedc->parts, l, part) { - int *count; - int dummy = 0; + int *count; + int dummy = 0; + switch (part->type) + { +#define CSP(Tp, Ce) \ +case EDJE_PART_TYPE_##Tp: \ + count = &Ce->count.Tp; \ + break; - switch (part->type) - { -#define CSP(Tp, Ce) \ - case EDJE_PART_TYPE_##Tp : \ - count = &Ce->count.Tp; \ - break; + CSP(RECTANGLE, ce); + CSP(TEXT, ce); + CSP(IMAGE, ce); + CSP(SWALLOW, ce); + CSP(TEXTBLOCK, ce); + CSP(GROUP, ce); + CSP(BOX, ce); + CSP(TABLE, ce); + CSP(EXTERNAL, ce); + CSP(VECTOR, ce); - CSP(RECTANGLE, ce); - CSP(TEXT, ce); - CSP(IMAGE, ce); - CSP(SWALLOW, ce); - CSP(TEXTBLOCK, ce); - CSP(GROUP, ce); - CSP(BOX, ce); - CSP(TABLE, ce); - CSP(EXTERNAL, ce); - CSP(VECTOR, ce); - default: - count = &dummy; - break; - } + default: + count = &dummy; + break; + } - *count += eina_list_count(part->other_desc) + 1; + *count += eina_list_count(part->other_desc) + 1; } ce->count.part = eina_list_count(oedc->parts); -#define CONVERT_EMN(Tp, Sz, Ce) \ - buffer = alloca(strlen(ce->entry) + strlen(#Tp) + 2); \ - sprintf(buffer, "%s/%s", ce->entry, #Tp); \ - Ce->mp.Tp = eina_mempool_add("one_big", buffer, NULL, sizeof (Sz), Ce->count.Tp); +#define CONVERT_EMN(Tp, Sz, Ce) \ + buffer = alloca(strlen(ce->entry) + strlen(#Tp) + 2); \ + sprintf(buffer, "%s/%s", ce->entry, #Tp); \ + Ce->mp.Tp = eina_mempool_add("one_big", buffer, NULL, sizeof (Sz), Ce->count.Tp); CONVERT_EMN(RECTANGLE, Edje_Part_Description_Common, ce); CONVERT_EMN(TEXT, Edje_Part_Description_Text, ce); @@ -272,43 +272,43 @@ _edje_collection_convert(Eet_File *ef, Edje_Part_Collection_Directory_Entry *ce, EINA_LIST_FREE(oedc->programs, pg) { - if (!pg->signal && !pg->source) - _edje_collection_program_add(&edc->programs.nocmp, - &edc->programs.nocmp_count, - pg); - else if (pg->signal && !strpbrk(pg->signal, "*?[\\") - && pg->source && !strpbrk(pg->source, "*?[\\")) - _edje_collection_program_add(&edc->programs.strcmp, - &edc->programs.strcmp_count, - pg); - else if (pg->signal && edje_program_is_strncmp(pg->signal) - && pg->source && edje_program_is_strncmp(pg->source)) - _edje_collection_program_add(&edc->programs.strncmp, - &edc->programs.strncmp_count, - pg); - else if (pg->signal && edje_program_is_strrncmp(pg->signal) - && pg->source && edje_program_is_strrncmp(pg->source)) - _edje_collection_program_add(&edc->programs.strrncmp, - &edc->programs.strrncmp_count, - pg); - else - _edje_collection_program_add(&edc->programs.fnmatch, - &edc->programs.fnmatch_count, - pg); + if (!pg->signal && !pg->source) + _edje_collection_program_add(&edc->programs.nocmp, + &edc->programs.nocmp_count, + pg); + else if (pg->signal && !strpbrk(pg->signal, "*?[\\") + && pg->source && !strpbrk(pg->source, "*?[\\")) + _edje_collection_program_add(&edc->programs.strcmp, + &edc->programs.strcmp_count, + pg); + else if (pg->signal && edje_program_is_strncmp(pg->signal) + && pg->source && edje_program_is_strncmp(pg->source)) + _edje_collection_program_add(&edc->programs.strncmp, + &edc->programs.strncmp_count, + pg); + else if (pg->signal && edje_program_is_strrncmp(pg->signal) + && pg->source && edje_program_is_strrncmp(pg->source)) + _edje_collection_program_add(&edc->programs.strrncmp, + &edc->programs.strrncmp_count, + pg); + else + _edje_collection_program_add(&edc->programs.fnmatch, + &edc->programs.fnmatch_count, + pg); } edc->data = eina_hash_string_small_new(NULL); EINA_LIST_FREE(oedc->data, di) { - Edje_String *es; + Edje_String *es; - es = calloc(1, sizeof (Edje_String)); - if (!es) continue ; + es = calloc(1, sizeof (Edje_String)); + if (!es) continue; - es->str = di->value; + es->str = di->value; - eina_hash_direct_add(edc->data, di->key, es); - free(di); + eina_hash_direct_add(edc->data, di->key, es); + free(di); } edc->parts_count = eina_list_count(oedc->parts); @@ -319,60 +319,60 @@ _edje_collection_convert(Eet_File *ef, Edje_Part_Collection_Directory_Entry *ce, EINA_LIST_FREE(oedc->parts, part) { - Old_Edje_Part_Description *oepd; - Edje_Pack_Element *elm; - Edje_Part *replacement; - unsigned int i; + Old_Edje_Part_Description *oepd; + Edje_Pack_Element *elm; + Edje_Part *replacement; + unsigned int i; - replacement = eina_mempool_malloc(ce->mp.part, sizeof (Edje_Part)); - if (!replacement) - error_and_abort(ef, "Not enough memory"); + replacement = eina_mempool_malloc(ce->mp.part, sizeof (Edje_Part)); + if (!replacement) + error_and_abort(ef, "Not enough memory"); - replacement->name = part->name; - replacement->default_desc = _edje_description_convert(part->type, ce, part->default_desc); + replacement->name = part->name; + replacement->default_desc = _edje_description_convert(part->type, ce, part->default_desc); - replacement->other.desc_count = eina_list_count(part->other_desc); - replacement->other.desc = calloc(replacement->other.desc_count, sizeof (Edje_Part_Description_Common*)); + replacement->other.desc_count = eina_list_count(part->other_desc); + replacement->other.desc = calloc(replacement->other.desc_count, sizeof (Edje_Part_Description_Common *)); - i = 0; - EINA_LIST_FREE(part->other_desc, oepd) - replacement->other.desc[i++] = _edje_description_convert(part->type, ce, oepd); + i = 0; + EINA_LIST_FREE(part->other_desc, oepd) + replacement->other.desc[i++] = _edje_description_convert(part->type, ce, oepd); - replacement->source = part->source; - replacement->source2 = part->source2; - replacement->source3 = part->source3; - replacement->source4 = part->source4; - replacement->source5 = part->source5; - replacement->source6 = part->source6; - replacement->id = part->id; - replacement->clip_to_id = part->clip_to_id; - replacement->dragable = part->dragable; - replacement->items_count = eina_list_count(part->items); - replacement->items = calloc(replacement->items_count, sizeof (Edje_Pack_Element*)); + replacement->source = part->source; + replacement->source2 = part->source2; + replacement->source3 = part->source3; + replacement->source4 = part->source4; + replacement->source5 = part->source5; + replacement->source6 = part->source6; + replacement->id = part->id; + replacement->clip_to_id = part->clip_to_id; + replacement->dragable = part->dragable; + replacement->items_count = eina_list_count(part->items); + replacement->items = calloc(replacement->items_count, sizeof (Edje_Pack_Element *)); - i = 0; - EINA_LIST_FREE(part->items, elm) - replacement->items[i++] = elm; + i = 0; + EINA_LIST_FREE(part->items, elm) + replacement->items[i++] = elm; - replacement->type = part->type; - replacement->effect = part->effect; - replacement->mouse_events = part->mouse_events; - replacement->repeat_events = part->repeat_events; - replacement->ignore_flags = part->ignore_flags; - replacement->mask_flags = part->mask_flags; - replacement->scale = part->scale; - replacement->precise_is_inside = part->precise_is_inside; - replacement->use_alternate_font_metrics = part->use_alternate_font_metrics; - replacement->pointer_mode = part->pointer_mode; - replacement->entry_mode = part->entry_mode; - replacement->select_mode = part->select_mode; - replacement->multiline = part->multiline; - replacement->api = part->api; - replacement->required = part->required; + replacement->type = part->type; + replacement->effect = part->effect; + replacement->mouse_events = part->mouse_events; + replacement->repeat_events = part->repeat_events; + replacement->ignore_flags = part->ignore_flags; + replacement->mask_flags = part->mask_flags; + replacement->scale = part->scale; + replacement->precise_is_inside = part->precise_is_inside; + replacement->use_alternate_font_metrics = part->use_alternate_font_metrics; + replacement->pointer_mode = part->pointer_mode; + replacement->entry_mode = part->entry_mode; + replacement->select_mode = part->select_mode; + replacement->multiline = part->multiline; + replacement->api = part->api; + replacement->required = part->required; - edc->parts[k++] = replacement; + edc->parts[k++] = replacement; - free(part); + free(part); } edc->id = oedc->id; @@ -389,76 +389,78 @@ _edje_collection_convert(Eet_File *ef, Edje_Part_Collection_Directory_Entry *ce, return edc; } -Edje_Part_Description_Common* +Edje_Part_Description_Common * _edje_description_convert(int type, - Edje_Part_Collection_Directory_Entry *ce, - Old_Edje_Part_Description *oed) + Edje_Part_Collection_Directory_Entry *ce, + Old_Edje_Part_Description *oed) { Edje_Part_Description_Common *result = NULL; switch (type) { case EDJE_PART_TYPE_RECTANGLE: - result = eina_mempool_malloc(ce->mp.RECTANGLE, - sizeof (Edje_Part_Description_Common)); - break; + result = eina_mempool_malloc(ce->mp.RECTANGLE, + sizeof (Edje_Part_Description_Common)); + break; + case EDJE_PART_TYPE_SWALLOW: - result = eina_mempool_malloc(ce->mp.SWALLOW, - sizeof (Edje_Part_Description_Common)); - break; + result = eina_mempool_malloc(ce->mp.SWALLOW, + sizeof (Edje_Part_Description_Common)); + break; + case EDJE_PART_TYPE_GROUP: - result = eina_mempool_malloc(ce->mp.GROUP, - sizeof (Edje_Part_Description_Common)); - break; + result = eina_mempool_malloc(ce->mp.GROUP, + sizeof (Edje_Part_Description_Common)); + break; case EDJE_PART_TYPE_IMAGE: - { - Edje_Part_Description_Image *img; - Edje_Part_Image_Id *id; - unsigned int i = 0; + { + Edje_Part_Description_Image *img; + Edje_Part_Image_Id *id; + unsigned int i = 0; - img = eina_mempool_malloc(ce->mp.IMAGE, sizeof (Edje_Part_Description_Image)); + img = eina_mempool_malloc(ce->mp.IMAGE, sizeof (Edje_Part_Description_Image)); - img->image.tweens_count = eina_list_count(oed->image.tween_list); - img->image.tweens = calloc(img->image.tweens_count, - sizeof (Edje_Part_Image_Id*)); - if (img->image.tweens_count > 0 && !img->image.tweens) - { - eina_mempool_free(ce->mp.IMAGE, img); - return NULL; - } + img->image.tweens_count = eina_list_count(oed->image.tween_list); + img->image.tweens = calloc(img->image.tweens_count, + sizeof (Edje_Part_Image_Id *)); + if (img->image.tweens_count > 0 && !img->image.tweens) + { + eina_mempool_free(ce->mp.IMAGE, img); + return NULL; + } - EINA_LIST_FREE(oed->image.tween_list, id) - img->image.tweens[i++] = id; + EINA_LIST_FREE(oed->image.tween_list, id) + img->image.tweens[i++] = id; - img->image.id = oed->image.id; - img->image.scale_hint = oed->image.scale_hint; - img->image.set = oed->image.set; + img->image.id = oed->image.id; + img->image.scale_hint = oed->image.scale_hint; + img->image.set = oed->image.set; - img->image.border = oed->image.border; - img->image.fill = oed->image.fill; + img->image.border = oed->image.border; + img->image.fill = oed->image.fill; - result = &img->common; - break; - } + result = &img->common; + break; + } -#define CONVERT_ALLOC_POOL(Short, Type, Name) \ - case EDJE_PART_TYPE_##Short: \ - { \ - Edje_Part_Description_##Type *Name; \ - \ - Name = eina_mempool_malloc(ce->mp.Short, sizeof (Edje_Part_Description_##Type)); \ - Name->Name = oed->Name; \ - result = &Name->common; \ - break; \ - } +#define CONVERT_ALLOC_POOL(Short, Type, Name) \ +case EDJE_PART_TYPE_##Short: \ +{ \ + Edje_Part_Description_##Type * Name; \ + \ + Name = eina_mempool_malloc(ce->mp.Short, sizeof (Edje_Part_Description_##Type)); \ + Name->Name = oed->Name; \ + result = &Name->common; \ + break; \ +} - CONVERT_ALLOC_POOL(TEXT, Text, text); - CONVERT_ALLOC_POOL(TEXTBLOCK, Text, text); - CONVERT_ALLOC_POOL(BOX, Box, box); - CONVERT_ALLOC_POOL(TABLE, Table, table); - CONVERT_ALLOC_POOL(EXTERNAL, External, external_params); - CONVERT_ALLOC_POOL(VECTOR, Vector, vector); + CONVERT_ALLOC_POOL(TEXT, Text, text); + CONVERT_ALLOC_POOL(TEXTBLOCK, Text, text); + CONVERT_ALLOC_POOL(BOX, Box, box); + CONVERT_ALLOC_POOL(TABLE, Table, table); + CONVERT_ALLOC_POOL(EXTERNAL, External, external_params); + CONVERT_ALLOC_POOL(VECTOR, Vector, vector); } if (result) @@ -467,3 +469,4 @@ _edje_description_convert(int type, free(oed); return result; } + diff --git a/src/bin/edje/edje_convert_main.c b/src/bin/edje/edje_convert_main.c index 97a96d8763..6cdd5783f9 100644 --- a/src/bin/edje/edje_convert_main.c +++ b/src/bin/edje/edje_convert_main.c @@ -39,7 +39,7 @@ main_help(void) ("Usage:\n" "\t%s file.edj\n" "\n" - ,progname); + , progname); } static void @@ -57,17 +57,17 @@ _edje_alias_int(const char *target, Eet_File *ef, const char *base, const char * strcat(buf, "%i"); for (i = 0; i < count && match; ++i) { - char name[1024]; - int id; + char name[1024]; + int id; - if (sscanf(match[i], buf, &id) != 1) - { - EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target); - continue ; - } + if (sscanf(match[i], buf, &id) != 1) + { + EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target); + continue; + } - snprintf(name, sizeof (name), "%s/%i", to, id); - eet_alias(ef, name, match[i], 1); + snprintf(name, sizeof (name), "%s/%i", to, id); + eet_alias(ef, name, match[i], 1); } free(match); } @@ -87,17 +87,17 @@ _edje_alias_string(const char *target, Eet_File *ef, const char *base, const cha strcat(buf, "%s"); for (i = 0; i < count && match; ++i) { - char name[1024]; - char id[1024]; + char name[1024]; + char id[1024]; - if (sscanf(match[i], buf, &id) != 1) - { - EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target); - continue ; - } + if (sscanf(match[i], buf, &id) != 1) + { + EINA_LOG_ERR("Wrong fonts section `%s' in `%s'. Discarding it.", match[i], target); + continue; + } - snprintf(name, sizeof (name), "%s/%s", to, id); - eet_alias(ef, name, match[i], 1); + snprintf(name, sizeof (name), "%s/%s", to, id); + eet_alias(ef, name, match[i], 1); } free(match); } @@ -119,11 +119,11 @@ main(int argc, char **argv) return -1; _edje_cc_log_dom = eina_log_domain_register - ("edje_convert", EDJE_CC_DEFAULT_LOG_COLOR); + ("edje_convert", EDJE_CC_DEFAULT_LOG_COLOR); if (_edje_cc_log_dom < 0) { - EINA_LOG_ERR("Enable to create a log domain."); - exit(-1); + EINA_LOG_ERR("Enable to create a log domain."); + exit(-1); } eet_init(); @@ -131,8 +131,8 @@ main(int argc, char **argv) progname = argv[0]; if (argc > 2 || argc < 2 || !strcmp(argv[1], "-h")) { - main_help(); - return 0; + main_help(); + return 0; } _edje_edd_old_init(); @@ -141,15 +141,15 @@ main(int argc, char **argv) ef = eet_open(argv[1], EET_FILE_MODE_READ_WRITE); if (!ef) { - EINA_LOG_ERR("Unable to open `%s'.", argv[1]); - return -1; + EINA_LOG_ERR("Unable to open `%s'.", argv[1]); + return -1; } oef = eet_data_read(ef, _edje_edd_old_edje_file, "edje_file"); if (!oef) { - EINA_LOG_ERR("Unable to get edje_file section from old file format, are you sure it's an old file ?"); - return -1; + EINA_LOG_ERR("Unable to get edje_file section from old file format, are you sure it's an old file ?"); + return -1; } nef = _edje_file_convert(ef, oef); @@ -160,34 +160,34 @@ main(int argc, char **argv) EINA_ITERATOR_FOREACH(it, ce) { - Old_Edje_Part_Collection *opc; - Edje_Part_Collection *npc; - char buf[1024]; - int bytes = 0; + Old_Edje_Part_Collection *opc; + Edje_Part_Collection *npc; + char buf[1024]; + int bytes = 0; - snprintf(buf, sizeof (buf), "collections/%i", ce->id); - opc = eet_data_read(ef, _edje_edd_old_edje_part_collection, buf); - if (!opc) - { - EINA_LOG_ERR("Unable to find collection `%s'[%i] in `%s'.", ce->entry, ce->id, argv[1]); - return -1; - } + snprintf(buf, sizeof (buf), "collections/%i", ce->id); + opc = eet_data_read(ef, _edje_edd_old_edje_part_collection, buf); + if (!opc) + { + EINA_LOG_ERR("Unable to find collection `%s'[%i] in `%s'.", ce->entry, ce->id, argv[1]); + return -1; + } - npc = _edje_collection_convert(ef, ce, opc); + npc = _edje_collection_convert(ef, ce, opc); - snprintf(buf, sizeof (buf), "edje/collections/%i", ce->id); - bytes = eet_data_write(ef, _edje_edd_edje_part_collection, buf, npc, 1); - if (bytes <= 0) - { - EINA_LOG_ERR("Unable to save `%s' in section `%s' of `%s'.", ce->entry, buf, argv[1]); - return -1; - } + snprintf(buf, sizeof (buf), "edje/collections/%i", ce->id); + bytes = eet_data_write(ef, _edje_edd_edje_part_collection, buf, npc, 1); + if (bytes <= 0) + { + EINA_LOG_ERR("Unable to save `%s' in section `%s' of `%s'.", ce->entry, buf, argv[1]); + return -1; + } } if (eet_data_write(ef, _edje_edd_edje_file, "edje/file", nef, 1) <= 0) { - EINA_LOG_ERR("Unable to save main section of `%s'.", argv[1]); - return -1; + EINA_LOG_ERR("Unable to save main section of `%s'.", argv[1]); + return -1; } _edje_alias_string(argv[1], ef, "fonts", "edje/fonts"); @@ -205,3 +205,4 @@ main(int argc, char **argv) return 0; } + diff --git a/src/bin/edje/edje_data_convert.c b/src/bin/edje/edje_data_convert.c index f35ed94e6a..bdbca1f9e8 100644 --- a/src/bin/edje/edje_data_convert.c +++ b/src/bin/edje/edje_data_convert.c @@ -26,12 +26,12 @@ Eet_Data_Descriptor *_edje_edd_old_edje_part_description = NULL; Eet_Data_Descriptor *_edje_edd_old_edje_part_image_id = NULL; Eet_Data_Descriptor *_edje_edd_old_edje_external_param = NULL; -#define FREED(eed) \ - if (eed) \ - { \ - eet_data_descriptor_free((eed)); \ - (eed) = NULL; \ - } +#define FREED(eed) \ + if (eed) \ + { \ + eet_data_descriptor_free((eed)); \ + (eed) = NULL; \ + } void _edje_edd_old_shutdown(void) @@ -74,8 +74,8 @@ _edje_edd_old_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_external_directory_entry, Edje_External_Directory_Entry, "entry", entry, EET_T_STRING); eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), - "Edje_External_Directory", - sizeof (Old_Edje_External_Directory)); + "Edje_External_Directory", + sizeof (Old_Edje_External_Directory)); _edje_edd_old_edje_external_directory = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_external_directory, Edje_External_Directory, "entries", entries, _edje_edd_old_edje_external_directory_entry); @@ -88,8 +88,8 @@ _edje_edd_old_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_font_directory_entry, Edje_Font_Directory_Entry, "file", file, EET_T_STRING); eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), - "Edje_Font_Directory", - sizeof (Old_Edje_Font_Directory)); + "Edje_Font_Directory", + sizeof (Old_Edje_Font_Directory)); _edje_edd_old_edje_font_directory = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_font_directory, Old_Edje_Font_Directory, "entries", entries, _edje_edd_old_edje_font_directory_entry); @@ -117,12 +117,12 @@ _edje_edd_old_init(void) _edje_edd_old_edje_image_directory_set = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "name", name, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "id", id, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "id", id, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory_set, Edje_Image_Directory_Set, "entries", entries, _edje_edd_old_edje_image_directory_set_entry); eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), - "Edje_Image_Directory", - sizeof (Old_Edje_Image_Directory)); + "Edje_Image_Directory", + sizeof (Old_Edje_Image_Directory)); _edje_edd_old_edje_image_directory = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_image_directory, Old_Edje_Image_Directory, "entries", entries, _edje_edd_old_edje_image_directory_entry); @@ -136,15 +136,15 @@ _edje_edd_old_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "id", id, EET_T_INT); eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), - "Edje_Part_Collection_Directory", - sizeof (Old_Edje_Part_Collection_Directory)); + "Edje_Part_Collection_Directory", + sizeof (Old_Edje_Part_Collection_Directory)); _edje_edd_old_edje_part_collection_directory = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection_directory, Old_Edje_Part_Collection_Directory, "entries", entries, _edje_edd_old_edje_part_collection_directory_entry); /* generic data attachment */ eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), - "Edje_Data", sizeof (Old_Edje_Data)); + "Edje_Data", sizeof (Old_Edje_Data)); _edje_edd_old_edje_data = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_data, Old_Edje_Data, "key", key, EET_T_STRING); @@ -181,7 +181,7 @@ _edje_edd_old_init(void) /* the main file directory */ eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), - "Edje_File", sizeof (Old_Edje_File)); + "Edje_File", sizeof (Old_Edje_File)); _edje_edd_old_edje_file = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_file, Old_Edje_File, "compiler", compiler, EET_T_STRING); @@ -364,7 +364,7 @@ _edje_edd_old_init(void) EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element); _edje_edd_old_edje_pack_element = - eet_data_descriptor_file_new(&eddc); + eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "type", type, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "name", name, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_pack_element, Edje_Pack_Element, "source", source, EET_T_STRING); @@ -433,7 +433,7 @@ _edje_edd_old_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_old_edje_part, Old_Edje_Part, "required", required, EET_T_UCHAR); eet_eina_file_data_descriptor_class_set(&eddc, sizeof (eddc), "Edje_Part_Collection", sizeof (Old_Edje_Part_Collection)); - _edje_edd_old_edje_part_collection = + _edje_edd_old_edje_part_collection = eet_data_descriptor_file_new(&eddc); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "programs", programs, _edje_edd_old_edje_program); EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_old_edje_part_collection, Old_Edje_Part_Collection, "parts", parts, _edje_edd_old_edje_part); @@ -449,8 +449,9 @@ _edje_edd_old_init(void) Old_Edje_Part_Collection epc; eet_data_descriptor_element_add(_edje_edd_old_edje_part_collection, - "alias", EET_T_STRING, EET_G_HASH, - (char *)(&(epc.alias)) - (char *)(&(epc)), - 0, /* 0, */NULL, NULL); + "alias", EET_T_STRING, EET_G_HASH, + (char *)(&(epc.alias)) - (char *)(&(epc)), + 0, /* 0, */ NULL, NULL); } } + diff --git a/src/bin/edje/edje_decc.c b/src/bin/edje/edje_decc.c index fdbc903961..dfee86affe 100644 --- a/src/bin/edje/edje_decc.c +++ b/src/bin/edje/edje_decc.c @@ -12,7 +12,6 @@ #include #include - #include #include @@ -38,7 +37,6 @@ void output(void); static int compiler_cmd_is_sane(void); static int root_filename_is_sane(void); - static void _edje_cc_log_cb(const Eina_Log_Domain *d, Eina_Log_Level level, @@ -64,22 +62,27 @@ _edje_cc_log_cb(const Eina_Log_Domain *d, switch (level) { case EINA_LOG_LEVEL_CRITICAL: - color = FOREGROUND_RED | FOREGROUND_INTENSITY; - break; + color = FOREGROUND_RED | FOREGROUND_INTENSITY; + break; + case EINA_LOG_LEVEL_ERR: - color = FOREGROUND_RED; - break; + color = FOREGROUND_RED; + break; + case EINA_LOG_LEVEL_WARN: - color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; - break; + color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; + break; + case EINA_LOG_LEVEL_INFO: - color = FOREGROUND_GREEN | FOREGROUND_INTENSITY; - break; + color = FOREGROUND_GREEN | FOREGROUND_INTENSITY; + break; + case EINA_LOG_LEVEL_DBG: - color = FOREGROUND_BLUE | FOREGROUND_INTENSITY; - break; + color = FOREGROUND_BLUE | FOREGROUND_INTENSITY; + break; + default: - color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE; + color = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE; } SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color); #endif @@ -88,16 +91,19 @@ _edje_cc_log_cb(const Eina_Log_Domain *d, switch (level) { case EINA_LOG_LEVEL_CRITICAL: - prefix = "Critical. "; - break; + prefix = "Critical. "; + break; + case EINA_LOG_LEVEL_ERR: - prefix = "Error. "; - break; + prefix = "Error. "; + break; + case EINA_LOG_LEVEL_WARN: - prefix = "Warning. "; - break; + prefix = "Warning. "; + break; + default: - prefix = ""; + prefix = ""; } fprintf(stderr, "%s: %s", progname, prefix); @@ -111,7 +117,6 @@ _edje_cc_log_cb(const Eina_Log_Domain *d, #endif } - vfprintf(stderr, fmt, args); putc('\n', stderr); } @@ -126,13 +131,13 @@ main_help(void) ("Usage:\n" "\t%s input_file.edj [-main-out file.edc] [-no-build-sh] [-current-dir | -output path_to_dir]\n" "\n" - " -main-out\tCreate a symbolic link to the main edc \n" + " -main-out\tCreate a symbolic link to the main edc (disabled on Windows) \n" " -no-build-sh\tDon't output build.sh \n" " -output, -o\tOutput to specified directory \n" " -current-dir\tOutput to current directory \n" " -quiet\t\tProduce less output\n" "\n" - ,progname); + , progname); } Eet_File *ef; @@ -150,12 +155,12 @@ main(int argc, char **argv) if (!eina_init()) exit(-1); _edje_cc_log_dom = eina_log_domain_register - ("edje_decc", EDJE_CC_DEFAULT_LOG_COLOR); + ("edje_decc", EDJE_CC_DEFAULT_LOG_COLOR); if (_edje_cc_log_dom < 0) { - EINA_LOG_ERR("Impossible to create a log domain."); - eina_shutdown(); - exit(-1); + EINA_LOG_ERR("Impossible to create a log domain."); + eina_shutdown(); + exit(-1); } progname = ecore_file_file_get(argv[0]); eina_log_print_cb_set(_edje_cc_log_cb, NULL); @@ -163,35 +168,37 @@ main(int argc, char **argv) for (i = 1; i < argc; i++) { - if (!strcmp(argv[i], "-h")) - { - main_help(); - exit(0); - } - if (!file_in) - file_in = argv[i]; - else if ((!strcmp(argv[i], "-main-out")) && (i < (argc - 1))) - { - i++; - file_out = argv[i]; - } - else if (!strcmp(argv[i], "-no-build-sh")) - build_sh = 0; - else if (!strcmp(argv[i], "-current-dir")) - new_dir = 0; + if (!strcmp(argv[i], "-h")) + { + main_help(); + exit(0); + } + if (!file_in) + file_in = argv[i]; + else if ((!strcmp(argv[i], "-main-out")) && (i < (argc - 1))) + { + i++; +#ifndef _WIN32 + file_out = argv[i]; +#endif + } + else if (!strcmp(argv[i], "-no-build-sh")) + build_sh = 0; + else if (!strcmp(argv[i], "-current-dir")) + new_dir = 0; else if (!strcmp(argv[i], "-quiet")) eina_log_domain_level_set("edje_decc", EINA_LOG_LEVEL_WARN); else if ((!strcmp(argv[i], "-o") || !strcmp(argv[i], "-output")) && (i < (argc - 1))) - { - i++; - outdir = strdup(argv[i]); - } + { + i++; + outdir = strdup(argv[i]); + } } if (!file_in) { - ERR("no input file specified."); - main_help(); - exit(-1); + ERR("no input file specified."); + main_help(); + exit(-1); } if (!edje_init()) @@ -218,41 +225,41 @@ decomp(void) ef = eet_open(file_in, EET_FILE_MODE_READ); if (!ef) { - ERR("cannot open %s", file_in); - return 0; + ERR("cannot open %s", file_in); + return 0; } srcfiles = source_load(ef); if (!srcfiles || !srcfiles->list) { - ERR("%s has no decompile information", file_in); - eet_close(ef); - return 0; + ERR("%s has no decompile information", file_in); + eet_close(ef); + return 0; } if (!eina_list_data_get(srcfiles->list) || !root_filename_is_sane()) { - ERR("Invalid root filename: '%s'", (char *) eina_list_data_get(srcfiles->list)); - eet_close(ef); - return 0; + ERR("Invalid root filename: '%s'", (char *)eina_list_data_get(srcfiles->list)); + eet_close(ef); + return 0; } edje_file = eet_data_read(ef, _edje_edd_edje_file, "edje/file"); if (!edje_file) { ERR("%s does not appear to be an edje file", file_in); - eet_close(ef); - return 0; + eet_close(ef); + return 0; } /* force compiler to be edje_cc */ edje_file->compiler = strdup("edje_cc"); if (!edje_file->compiler) { - edje_file->compiler = strdup("edje_cc"); + edje_file->compiler = strdup("edje_cc"); } else if (!compiler_cmd_is_sane()) { - ERR("invalid compiler executable: '%s'", edje_file->compiler); - eet_close(ef); - return 0; + ERR("invalid compiler executable: '%s'", edje_file->compiler); + eet_close(ef); + return 0; } fontlist = source_fontmap_load(ef); return 1; @@ -268,122 +275,122 @@ output(void) if (!outdir) { - if (!new_dir) - outdir = strdup("."); - else - { - p = strrchr(file_in, '/'); - if (p) - outdir = strdup(p + 1); - else - outdir = strdup(file_in); - p = strrchr(outdir, '.'); - if (p) *p = 0; - ecore_file_mkpath(outdir); - } + if (!new_dir) + outdir = strdup("."); + else + { + p = strrchr(file_in, '/'); + if (p) + outdir = strdup(p + 1); + else + outdir = strdup(file_in); + p = strrchr(outdir, '.'); + if (p) *p = 0; + ecore_file_mkpath(outdir); + } } - tef = eet_open(file_in, EET_FILE_MODE_READ); if (edje_file->image_dir) { Edje_Image_Directory_Entry *ei; - unsigned int i; + unsigned int i; - for (i = 0; i < edje_file->image_dir->entries_count; ++i) - { - ei = &edje_file->image_dir->entries[i]; + for (i = 0; i < edje_file->image_dir->entries_count; ++i) + { + ei = &edje_file->image_dir->entries[i]; - if ((ei->source_type > EDJE_IMAGE_SOURCE_TYPE_NONE) && - (ei->source_type < EDJE_IMAGE_SOURCE_TYPE_LAST) && - (ei->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) && - (ei->entry)) - { - Ecore_Evas *ee; - Evas *evas; - Evas_Object *im; - char buf[4096]; - char out[4096]; - char *pp; + if ((ei->source_type > EDJE_IMAGE_SOURCE_TYPE_NONE) && + (ei->source_type < EDJE_IMAGE_SOURCE_TYPE_LAST) && + (ei->source_type != EDJE_IMAGE_SOURCE_TYPE_USER) && + (ei->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) && + (ei->entry)) + { + Ecore_Evas *ee; + Evas *evas; + Evas_Object *im; + char buf[4096]; + char out[4096]; + char *pp; - ecore_init(); - ecore_evas_init(); - ee = ecore_evas_buffer_new(1, 1); - if (!ee) - { - ERR("Cannot create buffer engine canvas for image save."); - exit(-1); - } - evas = ecore_evas_get(ee); - im = evas_object_image_add(evas); - if (!im) - { - ERR("Cannot create image object for save."); - exit(-1); - } - snprintf(buf, sizeof(buf), "edje/images/%i", ei->id); - evas_object_image_file_set(im, file_in, buf); - snprintf(out, sizeof(out), "%s/%s", outdir, ei->entry); - INF("Output Image: %s", out); - pp = strdup(out); - p = strrchr(pp, '/'); - if (p) *p = 0; - if (strstr(pp, "../")) - { - ERR("Potential security violation. attempt to write in parent dir."); - exit(-1); - } - ecore_file_mkpath(pp); - free(pp); + ecore_init(); + ecore_evas_init(); + ee = ecore_evas_buffer_new(1, 1); + if (!ee) + { + ERR("Cannot create buffer engine canvas for image save."); + exit(-1); + } + evas = ecore_evas_get(ee); + im = evas_object_image_add(evas); + if (!im) + { + ERR("Cannot create image object for save."); + exit(-1); + } + snprintf(buf, sizeof(buf), "edje/images/%i", ei->id); + evas_object_image_file_set(im, file_in, buf); + snprintf(out, sizeof(out), "%s/%s", outdir, ei->entry); + INF("Output Image: %s", out); + pp = strdup(out); + p = strrchr(pp, '/'); + if (p) *p = 0; + if (strstr(pp, "../")) + { + ERR("Potential security violation. attempt to write in parent dir."); + exit(-1); + } + ecore_file_mkpath(pp); + free(pp); if (!evas_object_image_save(im, out, NULL, "quality=100 compress=9 encoding=auto")) - { - ERR("Cannot write file %s. Perhaps missing JPEG or PNG saver modules for Evas.", out); - exit(-1); - } - evas_object_del(im); - ecore_evas_free(ee); - ecore_evas_shutdown(); - ecore_shutdown(); - } - } + { + ERR("Cannot write file %s. Perhaps missing JPEG or PNG saver modules for Evas.", out); + exit(-1); + } + evas_object_del(im); + ecore_evas_free(ee); + ecore_evas_shutdown(); + ecore_shutdown(); + } + } } EINA_LIST_FOREACH(srcfiles->list, l, sf) { - char out[4096]; - FILE *f; - char *pp; + char out[4096]; + FILE *f; + char *pp; - snprintf(out, sizeof(out), "%s/%s", outdir, sf->name); - INF("Output Source File: %s", out); - pp = strdup(out); - p = strrchr(pp, '/'); - if (p) *p = 0; - if (strstr(pp, "../")) - { - ERR("Potential security violation. attempt to write in parent dir."); - exit (-1); - } - ecore_file_mkpath(pp); - free(pp); - if (strstr(out, "../")) - { - ERR("Potential security violation. attempt to write in parent dir."); - exit (-1); - } - f = fopen(out, "wb"); - if (!f) - { - ERR("Unable to write file (%s).", out); - exit (-1); - } + snprintf(out, sizeof(out), "%s/%s", outdir, sf->name); + INF("Output Source File: %s", out); + pp = strdup(out); + p = strrchr(pp, '/'); + if (p) *p = 0; + if (strstr(pp, "../")) + { + ERR("Potential security violation. attempt to write in parent dir."); + exit(-1); + } + ecore_file_mkpath(pp); + free(pp); + if (strstr(out, "../")) + { + ERR("Potential security violation. attempt to write in parent dir."); + exit(-1); + } + f = fopen(out, "wb"); + if (!f) + { + ERR("Unable to write file (%s).", out); + exit(-1); + } - /* if the file is empty, sf->file will be NULL. - * note that that's not an error - */ - if (sf->file) fputs(sf->file, f); - fclose(f); + /* if the file is empty, sf->file will be NULL. + * note that that's not an error + */ + if (sf->file) fputs(sf->file, f); + fclose(f); } if (edje_file->fonts) { @@ -391,93 +398,91 @@ output(void) Eina_Iterator *it; it = eina_hash_iterator_data_new(edje_file->fonts); - EINA_ITERATOR_FOREACH(it, fn) - { - void *font; - int fontsize; - char out[4096]; + EINA_ITERATOR_FOREACH(it, fn) + { + void *font; + int fontsize; + char out[4096]; /* FIXME!!!! */ - /* should be fn->entry -v */ - snprintf(out, sizeof(out), "edje/fonts/%s", fn->file); - font = eet_read(tef, out, &fontsize); - if (font) - { - FILE *f; - char *pp; + /* should be fn->entry -v */ + snprintf(out, sizeof(out), "edje/fonts/%s", fn->file); + font = eet_read(tef, out, &fontsize); + if (font) + { + FILE *f; + char *pp; - /* should be fn->file -v */ - snprintf(out, sizeof(out), "%s/%s", outdir, fn->entry); - INF("Output Font: %s", out); - pp = strdup(out); - p = strrchr(pp, '/'); - if (p) *p = 0; - if (strstr(pp, "../")) - { - ERR("Potential security violation. attempt to write in parent dir."); - exit (-1); - } - ecore_file_mkpath(pp); - free(pp); - if (strstr(out, "../")) - { - ERR("Potential security violation. attempt to write in parent dir."); - exit (-1); - } - if (!(f = fopen(out, "wb"))) + /* should be fn->file -v */ + snprintf(out, sizeof(out), "%s/%s", outdir, fn->entry); + INF("Output Font: %s", out); + pp = strdup(out); + p = strrchr(pp, '/'); + if (p) *p = 0; + if (strstr(pp, "../")) + { + ERR("Potential security violation. attempt to write in parent dir."); + exit(-1); + } + ecore_file_mkpath(pp); + free(pp); + if (strstr(out, "../")) + { + ERR("Potential security violation. attempt to write in parent dir."); + exit(-1); + } + if (!(f = fopen(out, "wb"))) { ERR("Could not open file: %s", out); - exit (-1); + exit(-1); } - if (fwrite(font, fontsize, 1, f) != 1) - ERR("Could not write font: %s", strerror(errno)); - if (f) fclose(f); - free(font); - } - } + if (fwrite(font, fontsize, 1, f) != 1) + ERR("Could not write font: %s", strerror(errno)); + if (f) fclose(f); + free(font); + } + } eina_iterator_free(it); } - { - char out[4096]; - FILE *f; - sf = eina_list_data_get(srcfiles->list); + { + char out[4096]; + FILE *f; + sf = eina_list_data_get(srcfiles->list); + if (build_sh) + { + snprintf(out, sizeof(out), "%s/build.sh", outdir); + INF("Output Build Script: %s", out); + if (strstr(out, "../")) + { + ERR("potential security violation. attempt to write in parent dir."); + exit(-1); + } + if ((f = fopen(out, "wb"))) + { + fprintf(f, "#!/bin/sh\n"); + fprintf(f, "%s $@ -id . -fd . %s -o %s.edj\n", + edje_file->compiler, sf->name, outdir); + fclose(f); + if (chmod(out, + S_IRUSR | S_IWUSR | S_IXUSR | + S_IRGRP | S_IWGRP | S_IXGRP) < 0) + ERR("chmod on %s failed", out); + } - if (build_sh) - { - snprintf(out, sizeof(out), "%s/build.sh", outdir); - INF("Output Build Script: %s", out); - if (strstr(out, "../")) - { - ERR("potential security violation. attempt to write in parent dir."); - exit (-1); - } - if ((f = fopen(out, "wb"))) - { - fprintf(f, "#!/bin/sh\n"); - fprintf(f, "%s $@ -id . -fd . %s -o %s.edj\n", - edje_file->compiler, sf->name, outdir); - fclose(f); - if (chmod(out, - S_IRUSR | S_IWUSR | S_IXUSR | - S_IRGRP | S_IWGRP | S_IXGRP) < 0) - ERR("chmod on %s failed", out); - } + WRN("*** CAUTION ***\n" + "Please check the build script for anything malicious " + "before running it!\n\n"); + } - WRN("*** CAUTION ***\n" - "Please check the build script for anything malicious " - "before running it!\n\n"); - } - - if (file_out) - { - snprintf(out, sizeof(out), "%s/%s", outdir, file_out); - if (ecore_file_symlink(sf->name, out) != EINA_TRUE) - { - ERR("symlink %s -> %s failed", sf->name, out); - } - } - - } + if (file_out) + { + snprintf(out, sizeof(out), "%s/%s", outdir, file_out); + if (ecore_file_symlink(sf->name, out) != EINA_TRUE) + { + ERR("symlink %s -> %s failed", sf->name, out); + } + } + } if (edje_file->sound_dir) { @@ -522,9 +527,8 @@ output(void) fclose(f); } else ERR("Could not open for writing sound: %s: %s", out1, strerror(errno)); - } + } } - } if (edje_file->vibration_dir) { @@ -569,7 +573,7 @@ output(void) fclose(f); } else ERR("Could not open for writing sound: %s: %s", out1, strerror(errno)); - } + } } } @@ -584,16 +588,16 @@ compiler_cmd_is_sane() if ((!c) || (!*c)) { - return 0; + return 0; } for (ptr = c; ptr && *ptr; ptr++) { - /* only allow [a-z][A-Z][0-9]_- */ - if ((!isalnum(*ptr)) && (*ptr != '_') && (*ptr != '-')) - { - return 0; - } + /* only allow [a-z][A-Z][0-9]_- */ + if ((!isalnum(*ptr)) && (*ptr != '_') && (*ptr != '-')) + { + return 0; + } } return 1; @@ -607,22 +611,27 @@ root_filename_is_sane() if (!f || !*f) { - return 0; + return 0; } for (ptr = f; ptr && *ptr; ptr++) { - /* only allow [a-z][A-Z][0-9]_-./ */ - switch (*ptr) - { - case '_': case '-': case '.': case '/': - break; - default: - if (!isalnum(*ptr)) - { - return 0; - } - } + /* only allow [a-z][A-Z][0-9]_-./ */ + switch (*ptr) + { + case '_': + case '-': + case '.': + case '/': + break; + + default: + if (!isalnum(*ptr)) + { + return 0; + } + } } return 1; } + diff --git a/src/bin/edje/edje_external_inspector.c b/src/bin/edje/edje_external_inspector.c index 5fd8e5e5ee..3a4f937b06 100644 --- a/src/bin/edje/edje_external_inspector.c +++ b/src/bin/edje/edje_external_inspector.c @@ -17,7 +17,7 @@ static int _log_dom; #define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__) #define CRI(...) EINA_LOG_DOM_CRIT(_log_dom, __VA_ARGS__) -#define INDENT " " +#define INDENT " " #define INDENT2 INDENT INDENT #define INDENT3 INDENT2 INDENT #define INDENT4 INDENT3 INDENT @@ -27,15 +27,14 @@ static char *module_patterns_str = NULL; static int detail = 1; static Eina_Bool machine = EINA_FALSE; static char *type_glob = NULL; -static char * const *module_patterns; +static char *const *module_patterns; static const Eina_List *modules; - static char * _module_patterns_str_new(void) { Eina_Strbuf *buf; - char * const *itr; + char *const *itr; char *ret; if (!module_patterns) return strdup("*"); @@ -53,7 +52,7 @@ _module_patterns_str_new(void) static Eina_Bool module_matches(const char *name) { - char * const *itr; + char *const *itr; if (!module_patterns) return EINA_TRUE; for (itr = module_patterns; *itr != NULL; itr++) @@ -93,13 +92,18 @@ _param_type_str_get(const Edje_External_Param_Info *param) switch (param->type) { case EDJE_EXTERNAL_PARAM_TYPE_INT: return "int"; + case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: return "double"; + case EDJE_EXTERNAL_PARAM_TYPE_STRING: return "string"; + case EDJE_EXTERNAL_PARAM_TYPE_BOOL: return "bool"; + case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: return "choice"; + default: - ERR("Unknown parameter type %d", param->type); - return "???"; + ERR("Unknown parameter type %d", param->type); + return "???"; } } @@ -109,38 +113,39 @@ _param_value_str_get(const Edje_External_Type *type, const Edje_External_Param_I switch (param->type) { case EDJE_EXTERNAL_PARAM_TYPE_INT: - if (param->info.i.def == EDJE_EXTERNAL_INT_UNSET) return NULL; - snprintf(buf, buflen, "%d", param->info.i.def); - return buf; + if (param->info.i.def == EDJE_EXTERNAL_INT_UNSET) return NULL; + snprintf(buf, buflen, "%d", param->info.i.def); + return buf; case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: - if (EINA_DBL_EQ(param->info.d.def, EDJE_EXTERNAL_DOUBLE_UNSET)) return NULL; - snprintf(buf, buflen, "%g", param->info.d.def); - return buf; + if (EINA_DBL_EQ(param->info.d.def, EDJE_EXTERNAL_DOUBLE_UNSET)) return NULL; + snprintf(buf, buflen, "%g", param->info.d.def); + return buf; case EDJE_EXTERNAL_PARAM_TYPE_STRING: - return param->info.s.def; + return param->info.s.def; case EDJE_EXTERNAL_PARAM_TYPE_BOOL: - if (param->info.b.def == 0) return "0"; - else if (param->info.b.def == 1) return "1"; - return NULL; + if (param->info.b.def == 0) return "0"; + else if (param->info.b.def == 1) + return "1"; + return NULL; case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: - { - char *def; - if (param->info.c.def) return param->info.c.def; - if (!param->info.c.def_get) return NULL; - def = param->info.c.def_get(type->data, param); - if (!def) return NULL; - eina_strlcpy(buf, def, buflen); - free(def); - return buf; - } + { + char *def; + if (param->info.c.def) return param->info.c.def; + if (!param->info.c.def_get) return NULL; + def = param->info.c.def_get(type->data, param); + if (!def) return NULL; + eina_strlcpy(buf, def, buflen); + free(def); + return buf; + } default: - ERR("Unknown parameter type %d", param->type); - return NULL; + ERR("Unknown parameter type %d", param->type); + return NULL; } } @@ -179,7 +184,7 @@ _param_flags_str_get(const Edje_External_Param_Info *param) } static void -_param_choices_print(const char * const *choices) +_param_choices_print(const char *const *choices) { if (machine) puts("CHOICES-BEGIN"); else fputs(", choices:", stdout); @@ -201,90 +206,91 @@ _param_extra_details(const Edje_External_Type *type, const Edje_External_Param_I switch (param->type) { case EDJE_EXTERNAL_PARAM_TYPE_INT: - if (param->info.i.min != EDJE_EXTERNAL_INT_UNSET) - { - if (machine) printf("MIN: %d\n", param->info.i.min); - else printf(", min: %d", param->info.i.min); - } - if (param->info.i.max != EDJE_EXTERNAL_INT_UNSET) - { - if (machine) printf("MAX: %d\n", param->info.i.max); - else printf(", max: %d", param->info.i.max); - } - if (param->info.i.step != EDJE_EXTERNAL_INT_UNSET) - { - if (machine) printf("STEP: %d\n", param->info.i.step); - else printf(", step: %d", param->info.i.step); - } - break; - - case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: - if (EINA_DBL_EQ(param->info.d.min, EDJE_EXTERNAL_DOUBLE_UNSET)) - { - if (machine) printf("MIN: %g\n", param->info.d.min); - else printf(", min: %g", param->info.d.min); - } - if (EINA_DBL_EQ(param->info.d.max, EDJE_EXTERNAL_DOUBLE_UNSET)) - { - if (machine) printf("MAX: %g\n", param->info.d.max); - else printf(", max: %g", param->info.d.max); - } - if (EINA_DBL_EQ(param->info.d.step, EDJE_EXTERNAL_DOUBLE_UNSET)) - { - if (machine) printf("STEP: %g\n", param->info.d.step); - else printf(", step: %g", param->info.d.step); - } - break; - - case EDJE_EXTERNAL_PARAM_TYPE_STRING: - if (param->info.s.accept_fmt) - { - if (machine) printf("ACCEPT_FMT: %s\n", param->info.s.accept_fmt); - else printf(", accept_fmt: \"%s\"", param->info.s.accept_fmt); - } - if (param->info.s.deny_fmt) - { - if (machine) printf("DENY_FMT: %s\n", param->info.s.deny_fmt); - else printf(", deny_fmt: \"%s\"", param->info.s.deny_fmt); - } - break; - - case EDJE_EXTERNAL_PARAM_TYPE_BOOL: - if (param->info.b.false_str) - { - if (machine) printf("FALSE_STR: %s\n", param->info.b.false_str); - else printf(", false_str: \"%s\"", param->info.b.false_str); - } - if (param->info.b.true_str) - { - if (machine) printf("TRUE_STR: %s\n", param->info.b.true_str); - else printf(", true_str: \"%s\"", param->info.b.true_str); - } - break; - - case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: - { - if (param->info.c.choices) - _param_choices_print(param->info.c.choices); - else if (param->info.c.query) - { - char **choices = param->info.c.query(type->data, param); - if (choices) - { - char **itr; - _param_choices_print((const char * const*)choices); - for (itr = choices; *itr; itr++) free(*itr); - free(choices); - } - } - } + if (param->info.i.min != EDJE_EXTERNAL_INT_UNSET) + { + if (machine) printf("MIN: %d\n", param->info.i.min); + else printf(", min: %d", param->info.i.min); + } + if (param->info.i.max != EDJE_EXTERNAL_INT_UNSET) + { + if (machine) printf("MAX: %d\n", param->info.i.max); + else printf(", max: %d", param->info.i.max); + } + if (param->info.i.step != EDJE_EXTERNAL_INT_UNSET) + { + if (machine) printf("STEP: %d\n", param->info.i.step); + else printf(", step: %d", param->info.i.step); + } break; + case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: + if (EINA_DBL_EQ(param->info.d.min, EDJE_EXTERNAL_DOUBLE_UNSET)) + { + if (machine) printf("MIN: %g\n", param->info.d.min); + else printf(", min: %g", param->info.d.min); + } + if (EINA_DBL_EQ(param->info.d.max, EDJE_EXTERNAL_DOUBLE_UNSET)) + { + if (machine) printf("MAX: %g\n", param->info.d.max); + else printf(", max: %g", param->info.d.max); + } + if (EINA_DBL_EQ(param->info.d.step, EDJE_EXTERNAL_DOUBLE_UNSET)) + { + if (machine) printf("STEP: %g\n", param->info.d.step); + else printf(", step: %g", param->info.d.step); + } + break; + + case EDJE_EXTERNAL_PARAM_TYPE_STRING: + if (param->info.s.accept_fmt) + { + if (machine) printf("ACCEPT_FMT: %s\n", param->info.s.accept_fmt); + else printf(", accept_fmt: \"%s\"", param->info.s.accept_fmt); + } + if (param->info.s.deny_fmt) + { + if (machine) printf("DENY_FMT: %s\n", param->info.s.deny_fmt); + else printf(", deny_fmt: \"%s\"", param->info.s.deny_fmt); + } + break; + + case EDJE_EXTERNAL_PARAM_TYPE_BOOL: + if (param->info.b.false_str) + { + if (machine) printf("FALSE_STR: %s\n", param->info.b.false_str); + else printf(", false_str: \"%s\"", param->info.b.false_str); + } + if (param->info.b.true_str) + { + if (machine) printf("TRUE_STR: %s\n", param->info.b.true_str); + else printf(", true_str: \"%s\"", param->info.b.true_str); + } + break; + + case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: + { + if (param->info.c.choices) + _param_choices_print(param->info.c.choices); + else if (param->info.c.query) + { + char **choices = param->info.c.query(type->data, param); + if (choices) + { + char **itr; + _param_choices_print((const char *const *)choices); + for (itr = choices; *itr; itr++) + free(*itr); + free(choices); + } + } + } + break; + default: - ERR("Unknown parameter type %d", param->type); + ERR("Unknown parameter type %d", param->type); } - if (!machine) fputs(" */", stdout); /* \n not desired */ + if (!machine) fputs(" */", stdout); /* \n not desired */ } static int @@ -397,12 +403,14 @@ _info_list(void) if (!type->label_get) str = NULL; else str = type->label_get(type->data); if (machine) printf("LABEL: %s\n", str ? str : ""); - else if (str) printf(INDENT3 "label: \"%s\";\n", str); + else if (str) + printf(INDENT3 "label: \"%s\";\n", str); if (!type->description_get) str = NULL; else str = type->description_get(type->data); if (machine) printf("DESCRIPTION: %s\n", str ? str : ""); - else if (str) printf(INDENT3 "description: \"%s\";\n", str); + else if (str) + printf(INDENT3 "description: \"%s\";\n", str); } if (machine) puts("PARAMS-BEGIN"); @@ -420,9 +428,10 @@ _info_list(void) if (detail > 0) { const char *str = _param_value_str_get - (type, param, buf, sizeof(buf)); + (type, param, buf, sizeof(buf)); if (machine) printf("DEFAULT: %s\n", str ? str : ""); - else if (str) printf(" \"%s\"", str); + else if (str) + printf(" \"%s\"", str); if (detail > 1) { @@ -432,7 +441,8 @@ _info_list(void) } if (machine) puts("PARAM-END"); - else if (detail > 1) putchar('\n'); + else if (detail > 1) + putchar('\n'); else puts(";"); } @@ -544,40 +554,40 @@ _modules_names_list(void) } static const char *mode_choices[] = { - "info", - "modules-names", - "types-names", - NULL, + "info", + "modules-names", + "types-names", + NULL, }; static const char *detail_choices[] = { - "none", - "terse", - "all", - NULL + "none", + "terse", + "all", + NULL }; const Ecore_Getopt optdesc = { - "edje_external_inspector", - "%prog [options] [module|module-glob] ... [module|module-glob]", - PACKAGE_VERSION, - "(C) 2010 - The Enlightenment Project", - "BSD", - "Edje external module inspector.", - 0, - { - ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate.", - mode_choices), - ECORE_GETOPT_STORE_STR('t', "type", "Limit output to type (or glob)."), - ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)", - detail_choices), - ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."), - ECORE_GETOPT_LICENSE('L', "license"), - ECORE_GETOPT_COPYRIGHT('C', "copyright"), - ECORE_GETOPT_VERSION('V', "version"), - ECORE_GETOPT_HELP('h', "help"), - ECORE_GETOPT_SENTINEL - } + "edje_external_inspector", + "%prog [options] [module|module-glob] ... [module|module-glob]", + PACKAGE_VERSION, + "(C) 2010 - The Enlightenment Project", + "BSD", + "Edje external module inspector.", + 0, + { + ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate.", + mode_choices), + ECORE_GETOPT_STORE_STR('t', "type", "Limit output to type (or glob)."), + ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)", + detail_choices), + ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."), + ECORE_GETOPT_LICENSE('L', "license"), + ECORE_GETOPT_COPYRIGHT('C', "copyright"), + ECORE_GETOPT_VERSION('V', "version"), + ECORE_GETOPT_HELP('h', "help"), + ECORE_GETOPT_SENTINEL + } }; int @@ -589,15 +599,15 @@ main(int argc, char **argv) int arg_index; int ret = 0; Ecore_Getopt_Value values[] = { - ECORE_GETOPT_VALUE_STR(mode), - ECORE_GETOPT_VALUE_STR(type_glob), - ECORE_GETOPT_VALUE_STR(detail_name), - ECORE_GETOPT_VALUE_BOOL(machine), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_NONE + ECORE_GETOPT_VALUE_STR(mode), + ECORE_GETOPT_VALUE_STR(type_glob), + ECORE_GETOPT_VALUE_STR(detail_name), + ECORE_GETOPT_VALUE_BOOL(machine), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_NONE }; setlocale(LC_NUMERIC, "C"); @@ -609,7 +619,7 @@ main(int argc, char **argv) edje_init(); _log_dom = eina_log_domain_register - ("edje_external_inspector", EINA_COLOR_YELLOW); + ("edje_external_inspector", EINA_COLOR_YELLOW); if (_log_dom < 0) { EINA_LOG_CRIT @@ -625,27 +635,32 @@ main(int argc, char **argv) ret = 1; goto error_getopt; } - else if (quit_option) goto error_getopt; + else if (quit_option) + goto error_getopt; if (!mode) mode = (char *)mode_choices[0]; if (detail_name) { if (!strcmp(detail_name, "none")) detail = 0; - else if (!strcmp(detail_name, "terse")) detail = 1; - else if (!strcmp(detail_name, "all")) detail = 2; + else if (!strcmp(detail_name, "terse")) + detail = 1; + else if (!strcmp(detail_name, "all")) + detail = 2; else ERR("Unknown detail level: '%s'", detail_name); } if (arg_index < argc) module_patterns = argv + arg_index; - else module_patterns = NULL; + else module_patterns = NULL; modules = edje_available_modules_get(); module_patterns_str = _module_patterns_str_new(); if (!strcmp(mode, "info")) ret = _info_list(); - else if (!strcmp(mode, "modules-names")) ret = _modules_names_list(); - else if (!strcmp(mode, "types-names")) ret = _types_names_list(); + else if (!strcmp(mode, "modules-names")) + ret = _modules_names_list(); + else if (!strcmp(mode, "types-names")) + ret = _types_names_list(); else { ERR("Unknown mode: %s", mode); @@ -654,12 +669,13 @@ main(int argc, char **argv) free(module_patterns_str); - error_getopt: +error_getopt: eina_log_domain_unregister(_log_dom); - error_log: +error_log: edje_shutdown(); ecore_shutdown(); eina_shutdown(); return ret; } + diff --git a/src/bin/edje/edje_inspector.c b/src/bin/edje/edje_inspector.c index b0710343ca..25024cee73 100644 --- a/src/bin/edje/edje_inspector.c +++ b/src/bin/edje/edje_inspector.c @@ -22,13 +22,13 @@ static int _log_dom; #define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__) #define CRI(...) EINA_LOG_DOM_CRIT(_log_dom, __VA_ARGS__) -#define INDENT " " -#define INDENT2 INDENT INDENT -#define INDENT3 INDENT2 INDENT -#define INDENT4 INDENT3 INDENT -#define INDENT5 INDENT4 INDENT -#define INDENT6 INDENT5 INDENT -#define INDENT7 INDENT6 INDENT +#define INDENT " " +#define INDENT2 INDENT INDENT +#define INDENT3 INDENT2 INDENT +#define INDENT4 INDENT3 INDENT +#define INDENT5 INDENT4 INDENT +#define INDENT6 INDENT5 INDENT +#define INDENT7 INDENT6 INDENT #define FLOAT_PRECISION 0.0001 #define FDIFF(a, b) (fabs((a) - (b)) > FLOAT_PRECISION) @@ -48,53 +48,53 @@ static Eina_Bool api_fix = EINA_FALSE; static Eina_Bool machine = EINA_FALSE; static const char *mode_choices[] = { - "groups", - "parts", - "programs", - "groups-names", - "part-names", - "global-data", - "images", - "fonts", - "externals", - NULL, + "groups", + "parts", + "programs", + "groups-names", + "part-names", + "global-data", + "images", + "fonts", + "externals", + NULL, }; static const char *detail_choices[] = { - "none", - "terse", - "all", - NULL + "none", + "terse", + "all", + NULL }; const Ecore_Getopt optdesc = { - "edje_inspector", - "%prog [options] ", - PACKAGE_VERSION, - "(C) 2010 - The Enlightenment Project", - "BSD", - "Edje file inspector, let one see groups, parts, programs and other details " - "of a compiled (binary) edje file.\n", - 0, - { - ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate on file.", - mode_choices), - ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)", - detail_choices), - ECORE_GETOPT_STORE_STR('g', "group", "Limit output to group (or glob)."), - ECORE_GETOPT_STORE_STR('p', "part", "Limit output to part (or glob)."), - ECORE_GETOPT_STORE_STR('r', "program", - "Limit output to program (or glob)."), - ECORE_GETOPT_STORE_TRUE('a', "api-only", "Limit to just api parts or " - "programs."), - ECORE_GETOPT_STORE_TRUE('A', "api-fix", "Fix API names to be C compliant."), - ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."), - ECORE_GETOPT_LICENSE('L', "license"), - ECORE_GETOPT_COPYRIGHT('C', "copyright"), - ECORE_GETOPT_VERSION('V', "version"), - ECORE_GETOPT_HELP('h', "help"), - ECORE_GETOPT_SENTINEL - } + "edje_inspector", + "%prog [options] ", + PACKAGE_VERSION, + "(C) 2010 - The Enlightenment Project", + "BSD", + "Edje file inspector, let one see groups, parts, programs and other details " + "of a compiled (binary) edje file.\n", + 0, + { + ECORE_GETOPT_CHOICE('m', "mode", "Choose which mode to operate on file.", + mode_choices), + ECORE_GETOPT_CHOICE('d', "detail", "Choose detail level (default=terse)", + detail_choices), + ECORE_GETOPT_STORE_STR('g', "group", "Limit output to group (or glob)."), + ECORE_GETOPT_STORE_STR('p', "part", "Limit output to part (or glob)."), + ECORE_GETOPT_STORE_STR('r', "program", + "Limit output to program (or glob)."), + ECORE_GETOPT_STORE_TRUE('a', "api-only", "Limit to just api parts or " + "programs."), + ECORE_GETOPT_STORE_TRUE('A', "api-fix", "Fix API names to be C compliant."), + ECORE_GETOPT_STORE_TRUE('M', "machine", "Produce machine readable output."), + ECORE_GETOPT_LICENSE('L', "license"), + ECORE_GETOPT_COPYRIGHT('C', "copyright"), + ECORE_GETOPT_VERSION('V', "version"), + ECORE_GETOPT_HELP('h', "help"), + ECORE_GETOPT_SENTINEL + } }; static inline Eina_Bool @@ -130,12 +130,14 @@ group_details(Evas_Object *ed) w = edje_edit_group_min_w_get(ed); h = edje_edit_group_min_h_get(ed); if (machine) printf("MIN-W: %d\nMIN-H: %d\n", w, h); - else if ((w > 0) || (h > 0)) printf(INDENT "min: %d %d;\n", w, h); + else if ((w > 0) || (h > 0)) + printf(INDENT "min: %d %d;\n", w, h); w = edje_edit_group_max_w_get(ed); h = edje_edit_group_max_h_get(ed); if (machine) printf("MAX-W: %d\nMAX-H: %d\n", w, h); - else if ((w > 0) || (h > 0)) printf(INDENT "max: %d %d;\n", w, h); + else if ((w > 0) || (h > 0)) + printf(INDENT "max: %d %d;\n", w, h); if (detail > 1) { @@ -185,39 +187,52 @@ part_type_name_get(Edje_Part_Type t) switch (t) { case EDJE_PART_TYPE_RECTANGLE: - return "RECT"; + return "RECT"; + case EDJE_PART_TYPE_TEXT: - return "TEXT"; + return "TEXT"; + case EDJE_PART_TYPE_IMAGE: - return "IMAGE"; + return "IMAGE"; + case EDJE_PART_TYPE_PROXY: - return "PROXY"; + return "PROXY"; + case EDJE_PART_TYPE_SWALLOW: - return "SWALLOW"; + return "SWALLOW"; + case EDJE_PART_TYPE_TEXTBLOCK: - return "TEXTBLOCK"; + return "TEXTBLOCK"; + case EDJE_PART_TYPE_GRADIENT: - return "GRADIENT"; + return "GRADIENT"; + case EDJE_PART_TYPE_GROUP: - return "GROUP"; + return "GROUP"; + case EDJE_PART_TYPE_BOX: - return "BOX"; + return "BOX"; + case EDJE_PART_TYPE_TABLE: - return "TABLE"; + return "TABLE"; + case EDJE_PART_TYPE_EXTERNAL: - return "EXTERNAL"; + return "EXTERNAL"; + case EDJE_PART_TYPE_SPACER: - return "SPACER"; + return "SPACER"; + case EDJE_PART_TYPE_VECTOR: - return "VECTOR"; + return "VECTOR"; case EDJE_PART_TYPE_NONE: case EDJE_PART_TYPE_LAST: - ERR("Invalid part type %d", t); - return "???"; + ERR("Invalid part type %d", t); + return "???"; + default: - ERR("Unknown part type %d", t); - return "???"; + ERR("Unknown part type %d", t); + return "???"; } } @@ -239,12 +254,16 @@ aspect_pref_name_get(int id) switch (id) { case 0: return "NONE"; + case 1: return "VERTICAL"; + case 2: return "HORIZONTAL"; + case 3: return "BOTH"; + default: - ERR("Unknown aspect preference %d", id); - return "???"; + ERR("Unknown aspect preference %d", id); + return "???"; } } @@ -254,11 +273,14 @@ border_fill_name_get(int id) switch (id) { case 0: return "NONE"; + case 1: return "DEFAULT"; + case 2: return "SOLID"; + default: - ERR("Unknown border fill %d", id); - return "???"; + ERR("Unknown border fill %d", id); + return "???"; } } @@ -274,7 +296,8 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu b = edje_edit_state_visible_get(ed, ppart, state, value); if (machine) printf("VISIBLE: %d\n", b); - else if (!b) puts(INDENT4 "visible: 0;"); + else if (!b) + puts(INDENT4 "visible: 0;"); edje_edit_state_color_get(ed, ppart, state, value, &r, &g, &b, &a); if (machine) @@ -308,12 +331,14 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu x = edje_edit_state_min_w_get(ed, ppart, state, value); y = edje_edit_state_min_h_get(ed, ppart, state, value); if (machine) printf("MIN-W: %d\nMIN-H: %d\n", x, y); - else if ((x) || (y)) printf(INDENT4 "min: %d %d;\n", x, y); + else if ((x) || (y)) + printf(INDENT4 "min: %d %d;\n", x, y); x = edje_edit_state_max_w_get(ed, ppart, state, value); y = edje_edit_state_max_h_get(ed, ppart, state, value); if (machine) printf("MAX-W: %d\nMAX-H: %d\n", x, y); - else if ((x != -1) || (y != -1)) printf(INDENT4 "max: %d %d;\n", x, y); + else if ((x != -1) || (y != -1)) + printf(INDENT4 "max: %d %d;\n", x, y); //TODO Support fixed //TODO Support step @@ -329,12 +354,14 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu x = edje_edit_state_aspect_pref_get(ed, ppart, state, value); str = aspect_pref_name_get(x); if (machine) printf("ASPECT-PREFERENCE: %s\n", str); - else if (x) printf(INDENT4 "aspect_preference: %s;\n", str); + else if (x) + printf(INDENT4 "aspect_preference: %s;\n", str); /* do not free this str! */ str = edje_edit_state_color_class_get(ed, ppart, state, value); if (machine) printf("COLOR_CLASS: %s\n", str ? str : ""); - else if (str) printf(INDENT4 "color_class: \"%s\";\n", str); + else if (str) + printf(INDENT4 "color_class: \"%s\";\n", str); edje_edit_string_free(str); } @@ -354,7 +381,8 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu printf(INDENT5 "relative: %g %g;\n", dx, dy); if (machine) printf("OFFSET-X: %d\nOFFSET-Y: %d\n", x, y); - else if ((x) || (y)) printf(INDENT5 "offset: %d %d;\n", x, y); + else if ((x) || (y)) + printf(INDENT5 "offset: %d %d;\n", x, y); if (machine) printf("TO-X: %s\nTO-Y: %s\n", str ? str : "", str2 ? str2 : ""); @@ -418,7 +446,8 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu puts(INDENT4 "image {"); if (str) printf(INDENT5 "normal: \"%s\";\n", str); } - else if (str) printf(INDENT4 "image.normal: \"%s\";\n", str); + else if (str) + printf(INDENT4 "image.normal: \"%s\";\n", str); edje_edit_string_free(str); @@ -448,28 +477,29 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu x = edje_edit_state_image_border_fill_get(ed, ppart, state, value); str = border_fill_name_get(x); if (machine) printf("BORDER-FILL: %s\n", str); - else if (x != 1) printf(INDENT5 "middle: %s;\n", str); + else if (x != 1) + printf(INDENT5 "middle: %s;\n", str); /* do not free str! */ // TODO support image.fill.smooth dx = edje_edit_state_fill_origin_relative_x_get - (ed, ppart, state, value); + (ed, ppart, state, value); dy = edje_edit_state_fill_origin_relative_y_get - (ed, ppart, state, value); + (ed, ppart, state, value); x = edje_edit_state_fill_origin_offset_x_get - (ed, ppart, state, value); + (ed, ppart, state, value); y = edje_edit_state_fill_origin_offset_y_get - (ed, ppart, state, value); + (ed, ppart, state, value); dx2 = edje_edit_state_fill_size_relative_x_get - (ed, ppart, state, value); + (ed, ppart, state, value); dy2 = edje_edit_state_fill_size_relative_y_get - (ed, ppart, state, value); + (ed, ppart, state, value); x2 = edje_edit_state_fill_size_offset_x_get - (ed, ppart, state, value); + (ed, ppart, state, value); y2 = edje_edit_state_fill_size_offset_y_get - (ed, ppart, state, value); + (ed, ppart, state, value); has_orgin = (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y)); has_size = (FDIFF(dx2, 1.0) || FDIFF(dy2, 1.0) || (x2) || (y2)); @@ -517,83 +547,84 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu } if (machine) puts("IMAGE-END"); - else if (detail > 1) puts(INDENT4 "}"); + else if (detail > 1) + puts(INDENT4 "}"); } else if (t == EDJE_PART_TYPE_PROXY) - { - int x2, y2; - double dx2, dy2; - Eina_Bool has_orgin, has_size; + { + int x2, y2; + double dx2, dy2; + Eina_Bool has_orgin, has_size; - if (machine) puts("PROXY-BEGIN"); - else puts(INDENT4 "proxy {"); - // TODO Support source - // TODO support proxy.fill.smooth + if (machine) puts("PROXY-BEGIN"); + else puts(INDENT4 "proxy {"); + // TODO Support source + // TODO support proxy.fill.smooth - dx = edje_edit_state_fill_origin_relative_x_get - (ed, ppart, state, value); - dy = edje_edit_state_fill_origin_relative_y_get - (ed, ppart, state, value); - x = edje_edit_state_fill_origin_offset_x_get - (ed, ppart, state, value); - y = edje_edit_state_fill_origin_offset_y_get - (ed, ppart, state, value); + dx = edje_edit_state_fill_origin_relative_x_get + (ed, ppart, state, value); + dy = edje_edit_state_fill_origin_relative_y_get + (ed, ppart, state, value); + x = edje_edit_state_fill_origin_offset_x_get + (ed, ppart, state, value); + y = edje_edit_state_fill_origin_offset_y_get + (ed, ppart, state, value); - dx2 = edje_edit_state_fill_size_relative_x_get - (ed, ppart, state, value); - dy2 = edje_edit_state_fill_size_relative_y_get - (ed, ppart, state, value); - x2 = edje_edit_state_fill_size_offset_x_get - (ed, ppart, state, value); - y2 = edje_edit_state_fill_size_offset_y_get - (ed, ppart, state, value); + dx2 = edje_edit_state_fill_size_relative_x_get + (ed, ppart, state, value); + dy2 = edje_edit_state_fill_size_relative_y_get + (ed, ppart, state, value); + x2 = edje_edit_state_fill_size_offset_x_get + (ed, ppart, state, value); + y2 = edje_edit_state_fill_size_offset_y_get + (ed, ppart, state, value); - has_orgin = (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y)); - has_size = (FDIFF(dx2, 1.0) || FDIFF(dy2, 1.0) || (x2) || (y2)); + has_orgin = (FDIFF(dx, 0.0) || FDIFF(dy, 0.0) || (x) || (y)); + has_size = (FDIFF(dx2, 1.0) || FDIFF(dy2, 1.0) || (x2) || (y2)); - if ((has_orgin) || (has_size)) - { - if (machine) puts("PROXY-FILL-BEGIN"); - else puts(INDENT5 "fill {"); + if ((has_orgin) || (has_size)) + { + if (machine) puts("PROXY-FILL-BEGIN"); + else puts(INDENT5 "fill {"); - if (has_orgin) - { - if (machine) - printf("ORIGIN-RELATIVE-X: %g\n" - "ORIGIN-RELATIVE-Y: %g\n" - "ORIGIN-OFFSET-X: %d\n" - "ORIGIN-OFFSET-Y: %d\n", - dx, dy, x, y); - else - printf(INDENT6 "origin {\n" - INDENT7 "relative: %g %g;\n" - INDENT7 "offset: %d %d;\n" - INDENT6 "}\n", - dx, dy, x, y); - } + if (has_orgin) + { + if (machine) + printf("ORIGIN-RELATIVE-X: %g\n" + "ORIGIN-RELATIVE-Y: %g\n" + "ORIGIN-OFFSET-X: %d\n" + "ORIGIN-OFFSET-Y: %d\n", + dx, dy, x, y); + else + printf(INDENT6 "origin {\n" + INDENT7 "relative: %g %g;\n" + INDENT7 "offset: %d %d;\n" + INDENT6 "}\n", + dx, dy, x, y); + } - if (has_size) - { - if (machine) - printf("SIZE-RELATIVE-X: %g\n" - "SIZE-RELATIVE-Y: %g\n" - "SIZE-OFFSET-X: %d\n" - "SIZE-OFFSET-Y: %d\n", - dx2, dy2, x2, y2); - else - printf(INDENT6 "size {\n" - INDENT7 "relative: %g %g;\n" - INDENT7 "offset: %d %d;\n" - INDENT6 "}\n", - dx2, dy2, x2, y2); - } + if (has_size) + { + if (machine) + printf("SIZE-RELATIVE-X: %g\n" + "SIZE-RELATIVE-Y: %g\n" + "SIZE-OFFSET-X: %d\n" + "SIZE-OFFSET-Y: %d\n", + dx2, dy2, x2, y2); + else + printf(INDENT6 "size {\n" + INDENT7 "relative: %g %g;\n" + INDENT7 "offset: %d %d;\n" + INDENT6 "}\n", + dx2, dy2, x2, y2); + } - if (machine) puts("PROXY-FILL-END"); - else puts(INDENT5 "}"); - } + if (machine) puts("PROXY-FILL-END"); + else puts(INDENT5 "}"); + } if (machine) puts("PROXY-END"); - else puts(INDENT4 "}"); + else puts(INDENT4 "}"); } else if ((t == EDJE_PART_TYPE_TEXTBLOCK) || (t == EDJE_PART_TYPE_TEXT)) { @@ -602,17 +633,20 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu str = edje_edit_state_text_get(ed, ppart, state, value); if (machine) printf("TEXT: %s\n", str ? str : ""); - else if (str) printf(INDENT5 "text: \"%s\";\n", str); + else if (str) + printf(INDENT5 "text: \"%s\";\n", str); edje_edit_string_free(str); str = edje_edit_state_font_get(ed, ppart, state, value); if (machine) printf("FONT: %s\n", str ? str : ""); - else if (str) printf(INDENT5 "font: \"%s\";\n", str); + else if (str) + printf(INDENT5 "font: \"%s\";\n", str); edje_edit_string_free(str); x = edje_edit_state_text_size_get(ed, ppart, state, value); if (machine) printf("SIZE: %d\n", x); - else if (x > 0) printf(INDENT5 "size: %d;\n", x); + else if (x > 0) + printf(INDENT5 "size: %d;\n", x); // TODO text_class @@ -625,11 +659,13 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu x = edje_edit_state_text_fit_x_get(ed, ppart, state, value); y = edje_edit_state_text_fit_y_get(ed, ppart, state, value); if (machine) printf("TEXT-FIT-X: %d\nTEXT-FIT-Y: %d\n", x, y); - else if ((x) || (y)) printf(INDENT5 "fit: %d %d;\n", x, y); + else if ((x) || (y)) + printf(INDENT5 "fit: %d %d;\n", x, y); dx = edje_edit_state_text_elipsis_get(ed, ppart, state, value); if (machine) printf("TEXT-ELLIPSIS: %g\n", dx); - else if (FDIFF(dx, 0.5)) printf(INDENT5 "ellipsis: %g;\n", dx); + else if (FDIFF(dx, 0.5)) + printf(INDENT5 "ellipsis: %g;\n", dx); if (machine) puts("TEXT-END"); else puts(INDENT4 "}"); @@ -640,7 +676,7 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu const Edje_External_Param *p; params = edje_edit_state_external_params_list_get - (ed, ppart, state, value); + (ed, ppart, state, value); if (params) { @@ -651,26 +687,31 @@ state_details(Evas_Object *ed, const char *ppart, const char *state, double valu switch (p->type) { case EDJE_EXTERNAL_PARAM_TYPE_INT: - printf(INDENT5 "int: \"%s\" \"%d\";\n", p->name, p->i); - break; + printf(INDENT5 "int: \"%s\" \"%d\";\n", p->name, p->i); + break; + case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: - printf(INDENT5 "double: \"%s\" \"%g\";\n", p->name, p->d); - break; + printf(INDENT5 "double: \"%s\" \"%g\";\n", p->name, p->d); + break; + case EDJE_EXTERNAL_PARAM_TYPE_STRING: - if (p->s) - printf(INDENT5 "string: \"%s\" \"%s\";\n", - p->name, p->s); - break; + if (p->s) + printf(INDENT5 "string: \"%s\" \"%s\";\n", + p->name, p->s); + break; + case EDJE_EXTERNAL_PARAM_TYPE_BOOL: - printf(INDENT5 "bool: \"%s\" \"%d\";\n", p->name, p->i); - break; + printf(INDENT5 "bool: \"%s\" \"%d\";\n", p->name, p->i); + break; + case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: - if (p->s) - printf(INDENT5 "choice: \"%s\" \"%s\";\n", - p->name, p->s); - break; + if (p->s) + printf(INDENT5 "choice: \"%s\" \"%s\";\n", + p->name, p->s); + break; + default: - break; + break; } if (machine) puts("PARAMS-END"); @@ -683,7 +724,8 @@ static void state_end(void) { if (machine) puts("PART-STATE-END"); - else if (detail > 0) puts(INDENT3 "}"); + else if (detail > 0) + puts(INDENT3 "}"); else puts(" }"); } @@ -705,34 +747,45 @@ text_effect_name_get(Edje_Text_Effect effect) switch (effect) { case EDJE_TEXT_EFFECT_NONE: - return "NONE"; + return "NONE"; + case EDJE_TEXT_EFFECT_PLAIN: - return "PLAIN"; + return "PLAIN"; + case EDJE_TEXT_EFFECT_OUTLINE: - return "OUTLINE"; + return "OUTLINE"; + case EDJE_TEXT_EFFECT_SOFT_OUTLINE: - return "SOFT_OUTLINE"; + return "SOFT_OUTLINE"; + case EDJE_TEXT_EFFECT_SHADOW: - return "SHADOW"; + return "SHADOW"; + case EDJE_TEXT_EFFECT_SOFT_SHADOW: - return "SOFT_SHADOW"; + return "SOFT_SHADOW"; + case EDJE_TEXT_EFFECT_OUTLINE_SHADOW: - return "OUTLINE_SHADOW"; + return "OUTLINE_SHADOW"; + case EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW: - return "OUTLINE_SOFT_SHADOW"; + return "OUTLINE_SOFT_SHADOW"; + case EDJE_TEXT_EFFECT_FAR_SHADOW: - return "FAR_SHADOW"; + return "FAR_SHADOW"; + case EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW: - return "FAR_SOFT_SHADOW"; + return "FAR_SOFT_SHADOW"; + case EDJE_TEXT_EFFECT_GLOW: - return "GLOW"; + return "GLOW"; case EDJE_TEXT_EFFECT_LAST: - ERR("Invalid part type %d", effect); - return "???"; + ERR("Invalid part type %d", effect); + return "???"; + default: - ERR("Unknown effect type %d", effect); - return "???"; + ERR("Unknown effect type %d", effect); + return "???"; } } @@ -786,7 +839,7 @@ part_details(Evas_Object *ed, const char *ppart) if (machine) puts("PART-DETAILS-BEGIN"); - str = api =_part_api_name_get(ed, ppart); + str = api = _part_api_name_get(ed, ppart); str2 = edje_edit_part_api_description_get(ed, ppart); if (machine) { @@ -800,27 +853,32 @@ part_details(Evas_Object *ed, const char *ppart) b = edje_edit_part_mouse_events_get(ed, ppart); if (machine) printf("MOUSE_EVENTS: %d\n", b); - else if (!b) puts(INDENT3 "mouse_events: 0;"); + else if (!b) + puts(INDENT3 "mouse_events: 0;"); if (detail > 1) { b = edje_edit_part_repeat_events_get(ed, ppart); if (machine) printf("REPEAT_EVENTS: %d\n", b); - else if (b) puts(INDENT3 "repeat_events: 1;"); + else if (b) + puts(INDENT3 "repeat_events: 1;"); b = edje_edit_part_scale_get(ed, ppart); if (machine) printf("SCALE: %d\n", b); - else if (b) puts(INDENT3 "scale: 1;"); + else if (b) + puts(INDENT3 "scale: 1;"); } str = edje_edit_part_clip_to_get(ed, ppart); if (machine) printf("CLIP_TO: %s\n", str ? str : ""); - else if (str) printf(INDENT3 "clip_to: \"%s\";\n", str); + else if (str) + printf(INDENT3 "clip_to: \"%s\";\n", str); edje_edit_string_free(str); str = edje_edit_part_source_get(ed, ppart); if (machine) printf("SOURCE: %s\n", str ? str : ""); - else if (str) printf(INDENT3 "source: \"%s\";\n", str); + else if (str) + printf(INDENT3 "source: \"%s\";\n", str); edje_edit_string_free(str); if (detail > 1) @@ -829,7 +887,8 @@ part_details(Evas_Object *ed, const char *ppart) { str = text_effect_name_get(edje_edit_part_effect_get(ed, ppart)); if (machine) printf("EFFECT: %s\n", str ? str : ""); - else if (str) printf(INDENT3 "effect: %s;\n", str); + else if (str) + printf(INDENT3 "effect: %s;\n", str); /* do not free this str! */ } @@ -855,12 +914,14 @@ part_details(Evas_Object *ed, const char *ppart) str = edje_edit_part_drag_confine_get(ed, ppart); if (machine) printf("DRAG-CONFINE: %s\n", str ? str : ""); - else if (str) printf(INDENT4 "confine: \"%s\";\n", str); + else if (str) + printf(INDENT4 "confine: \"%s\";\n", str); edje_edit_string_free(str); str = edje_edit_part_drag_event_get(ed, ppart); if (machine) printf("DRAG-EVENTS: %s\n", str ? str : ""); - else if (str) printf(INDENT4 "events: \"%s\";\n", str); + else if (str) + printf(INDENT4 "events: \"%s\";\n", str); edje_edit_string_free(str); if (machine) puts("DRAGABLE-END"); @@ -875,7 +936,7 @@ part_details(Evas_Object *ed, const char *ppart) double value; eina_strlcpy(state, str, sizeof(state)); /* bad states_list! :-( */ delim = strchr(state, ' '); - if (!delim) continue ; + if (!delim) continue; *delim = '\0'; delim++; value = strtod(delim, NULL); @@ -892,7 +953,8 @@ static void part_end(void) { if (machine) puts("PART-END"); - else if (detail > 0) puts(INDENT2 "}"); + else if (detail > 0) + puts(INDENT2 "}"); else puts(" }"); } @@ -1046,7 +1108,6 @@ program_end(void) else puts(INDENT2 "}"); } - static char * _program_api_name_get(Evas_Object *ed, const char *pprogram) { @@ -1062,13 +1123,18 @@ _transition_name_get(Edje_Tween_Mode mode) switch (mode) { case EDJE_TWEEN_MODE_LINEAR: return "LINEAR"; + case EDJE_TWEEN_MODE_ACCELERATE: return "ACCELERATE"; + case EDJE_TWEEN_MODE_DECELERATE: return "DECELERATE"; + case EDJE_TWEEN_MODE_SINUSOIDAL: return "SINUSOIDAL"; + case EDJE_TWEEN_MODE_CUBIC_BEZIER: return "CUBIC_BEZIER"; + default: - ERR("Unknown transition mode %d", mode); - return "???"; + ERR("Unknown transition mode %d", mode); + return "???"; } } @@ -1082,7 +1148,7 @@ program_details(Evas_Object *ed, const char *pprogram) if (machine) puts("PROGRAM-DETAILS-BEGIN"); - str = api =_program_api_name_get(ed, pprogram); + str = api = _program_api_name_get(ed, pprogram); str2 = edje_edit_program_api_description_get(ed, pprogram); if (machine) { @@ -1096,12 +1162,14 @@ program_details(Evas_Object *ed, const char *pprogram) str = edje_edit_program_signal_get(ed, pprogram); if (machine) printf("SIGNAL: %s\n", str ? str : ""); - else if (str) printf(INDENT3 "signal: \"%s\";\n", str); + else if (str) + printf(INDENT3 "signal: \"%s\";\n", str); edje_edit_string_free(str); str = edje_edit_program_source_get(ed, pprogram); if (machine) printf("SOURCE: %s\n", str ? str : ""); - else if (str) printf(INDENT3 "source: \"%s\";\n", str); + else if (str) + printf(INDENT3 "source: \"%s\";\n", str); edje_edit_string_free(str); if (detail >= 1) @@ -1111,45 +1179,48 @@ program_details(Evas_Object *ed, const char *pprogram) switch (type) { case EDJE_ACTION_TYPE_ACTION_STOP: - if (machine) puts("ACTION: ACTION_STOP"); - else puts(INDENT3 "action: ACTION_STOP;"); - break; + if (machine) puts("ACTION: ACTION_STOP"); + else puts(INDENT3 "action: ACTION_STOP;"); + break; + case EDJE_ACTION_TYPE_STATE_SET: - str = edje_edit_program_state_get(ed, pprogram); - if (machine) - printf("ACTION: STATE_SET\nACTION-STATE: %s %g\n", - str, edje_edit_program_value_get(ed, pprogram)); - else - printf(INDENT3 "action: STATE_SET \"%s\" %2.1f;\n", - str, edje_edit_program_value_get(ed, pprogram)); - edje_edit_string_free(str); - break; + str = edje_edit_program_state_get(ed, pprogram); + if (machine) + printf("ACTION: STATE_SET\nACTION-STATE: %s %g\n", + str, edje_edit_program_value_get(ed, pprogram)); + else + printf(INDENT3 "action: STATE_SET \"%s\" %2.1f;\n", + str, edje_edit_program_value_get(ed, pprogram)); + edje_edit_string_free(str); + break; + case EDJE_ACTION_TYPE_SIGNAL_EMIT: - str = edje_edit_program_state_get(ed, pprogram); - str2 = edje_edit_program_state2_get(ed, pprogram); - if (machine) - printf("ACTION: SIGNAL_EMIT\nACTION-SIGNAL: %s\n" - "ACTION-SOURCE: %s\n", - str ? str : "", str2 ? str2 : ""); - else if ((str) || (str2)) - printf(INDENT3 "action: SIGNAL_EMIT \"%s\" \"%s\";\n", - str ? str : "", str2 ? str2 : ""); - edje_edit_string_free(str); - edje_edit_string_free(str2); - break; - //TODO Support Drag - //~ case EDJE_ACTION_TYPE_DRAG_VAL_SET: - //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_SET TODO;\n"); - //~ break; - //~ case EDJE_ACTION_TYPE_DRAG_VAL_STEP: - //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_STEP TODO;\n"); - //~ break; - //~ case EDJE_ACTION_TYPE_DRAG_VAL_PAGE: - //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_PAGE TODO;\n"); - //~ break; + str = edje_edit_program_state_get(ed, pprogram); + str2 = edje_edit_program_state2_get(ed, pprogram); + if (machine) + printf("ACTION: SIGNAL_EMIT\nACTION-SIGNAL: %s\n" + "ACTION-SOURCE: %s\n", + str ? str : "", str2 ? str2 : ""); + else if ((str) || (str2)) + printf(INDENT3 "action: SIGNAL_EMIT \"%s\" \"%s\";\n", + str ? str : "", str2 ? str2 : ""); + edje_edit_string_free(str); + edje_edit_string_free(str2); + break; + + //TODO Support Drag + //~ case EDJE_ACTION_TYPE_DRAG_VAL_SET: + //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_SET TODO;\n"); + //~ break; + //~ case EDJE_ACTION_TYPE_DRAG_VAL_STEP: + //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_STEP TODO;\n"); + //~ break; + //~ case EDJE_ACTION_TYPE_DRAG_VAL_PAGE: + //~ eina_strbuf_append(buf, I4"action: DRAG_VAL_PAGE TODO;\n"); + //~ break; default: - ERR("Unhandled pprogram action type %d", type); - break; + ERR("Unhandled pprogram action type %d", type); + break; } if (detail > 1) @@ -1160,7 +1231,7 @@ program_details(Evas_Object *ed, const char *pprogram) if (from > 0.0) { str = _transition_name_get - (edje_edit_program_transition_get(ed, pprogram)); + (edje_edit_program_transition_get(ed, pprogram)); if (machine) printf("TRANSITION-NAME: %s\nTRANSITION-DURATION: %g\n", str, from); @@ -1372,26 +1443,32 @@ _comp_str_get(Evas_Object *ed, const char *img) switch (type) { case EDJE_EDIT_IMAGE_COMP_RAW: - return "RAW"; + return "RAW"; + case EDJE_EDIT_IMAGE_COMP_USER: - return "USER"; + return "USER"; + case EDJE_EDIT_IMAGE_COMP_COMP: - return "COMP"; + return "COMP"; + case EDJE_EDIT_IMAGE_COMP_LOSSY: - rate = edje_edit_image_compression_rate_get(ed, img); - snprintf(buf, sizeof(buf), "LOSSY %d", rate); - return buf; + rate = edje_edit_image_compression_rate_get(ed, img); + snprintf(buf, sizeof(buf), "LOSSY %d", rate); + return buf; + case EDJE_EDIT_IMAGE_COMP_LOSSY_ETC1: rate = edje_edit_image_compression_rate_get(ed, img); snprintf(buf, sizeof(buf), "LOSSY_ETC1 %d", rate); return buf; + case EDJE_EDIT_IMAGE_COMP_LOSSY_ETC2: rate = edje_edit_image_compression_rate_get(ed, img); snprintf(buf, sizeof(buf), "LOSSY_ETC2 %d", rate); return buf; + default: - ERR("Unknown compression type %d", type); - return "???"; + ERR("Unknown compression type %d", type); + return "???"; } } @@ -1521,7 +1598,6 @@ _externals_list(void) return EINA_TRUE; } - int main(int argc, char **argv) { @@ -1531,19 +1607,19 @@ main(int argc, char **argv) int arg_index; int ret = 0; Ecore_Getopt_Value values[] = { - ECORE_GETOPT_VALUE_STR(mode), - ECORE_GETOPT_VALUE_STR(detail_name), - ECORE_GETOPT_VALUE_STR(group), - ECORE_GETOPT_VALUE_STR(part), - ECORE_GETOPT_VALUE_STR(program), - ECORE_GETOPT_VALUE_BOOL(api_only), - ECORE_GETOPT_VALUE_BOOL(api_fix), - ECORE_GETOPT_VALUE_BOOL(machine), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_NONE + ECORE_GETOPT_VALUE_STR(mode), + ECORE_GETOPT_VALUE_STR(detail_name), + ECORE_GETOPT_VALUE_STR(group), + ECORE_GETOPT_VALUE_STR(part), + ECORE_GETOPT_VALUE_STR(program), + ECORE_GETOPT_VALUE_BOOL(api_only), + ECORE_GETOPT_VALUE_BOOL(api_fix), + ECORE_GETOPT_VALUE_BOOL(machine), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_NONE }; setlocale(LC_NUMERIC, "C"); @@ -1570,7 +1646,8 @@ main(int argc, char **argv) ret = 1; goto error_getopt; } - else if (quit_option) goto error_getopt; + else if (quit_option) + goto error_getopt; else if (arg_index != argc - 1) { ERR("incorrect number of parameters. Requires one single file."); @@ -1583,8 +1660,10 @@ main(int argc, char **argv) if (detail_name) { if (!strcmp(detail_name, "none")) detail = 0; - else if (!strcmp(detail_name, "terse")) detail = 1; - else if (!strcmp(detail_name, "all")) detail = 2; + else if (!strcmp(detail_name, "terse")) + detail = 1; + else if (!strcmp(detail_name, "all")) + detail = 2; else ERR("Unknown detail level: '%s'", detail_name); } @@ -1608,7 +1687,6 @@ main(int argc, char **argv) program ? program : "", api_only, api_fix, machine, file); - groups = edje_file_collection_list(file); if (!groups) { @@ -1629,19 +1707,23 @@ main(int argc, char **argv) else { if (!strcmp(mode, "parts-names")) ret = _parts_names_list(); - else if (!strcmp(mode, "global-data")) ret = _gdata_list(); - else if (!strcmp(mode, "images")) ret = _images_list(); - else if (!strcmp(mode, "fonts")) ret = _fonts_list(); - else if (!strcmp(mode, "externals")) ret = _externals_list(); + else if (!strcmp(mode, "global-data")) + ret = _gdata_list(); + else if (!strcmp(mode, "images")) + ret = _images_list(); + else if (!strcmp(mode, "fonts")) + ret = _fonts_list(); + else if (!strcmp(mode, "externals")) + ret = _externals_list(); else ret = _list(mode); ecore_evas_free(ee); } } edje_file_collection_list_free(groups); - error_getopt: +error_getopt: eina_log_domain_unregister(_log_dom); - error_log: +error_log: edje_shutdown(); ecore_evas_shutdown(); ecore_shutdown(); @@ -1649,3 +1731,4 @@ main(int argc, char **argv) return ret; } + diff --git a/src/bin/edje/edje_multisense_convert.c b/src/bin/edje/edje_multisense_convert.c index 49e58f7181..50576efab2 100644 --- a/src/bin/edje/edje_multisense_convert.c +++ b/src/bin/edje/edje_multisense_convert.c @@ -15,22 +15,22 @@ Edje_Sound_Encode * _edje_multisense_encode(const char *filename, Edje_Sound_Sample *sample, double quality EINA_UNUSED) { SF_INFO sfinfo; - SNDFILE* sfile; + SNDFILE *sfile; Edje_Sound_Encode *enc_info; - + enc_info = calloc(1, sizeof(Edje_Sound_Encode)); if (!enc_info) { ERR("while allocating memory to load file "); exit(-1); } - memset (&sfinfo, 0, sizeof (SF_INFO)); - + memset(&sfinfo, 0, sizeof (SF_INFO)); + enc_info->encoded = EINA_FALSE; enc_info->comp_type = "RAW PCM"; - + // Open wav file using sndfile - sfile = sf_open (filename, SFM_READ, &sfinfo); + sfile = sf_open(filename, SFM_READ, &sfinfo); if (!sfile) { ERR("Unable to open audio file: %s", filename); @@ -82,7 +82,7 @@ _edje_multisense_encode(const char *filename, Edje_Sound_Sample *sample, double } #ifdef HAVE_LIBFLAC -const char* +const char * _edje_multisense_encode_to_flac(char *snd_path, SF_INFO sfinfo) { unsigned int total_samples = 0; /* can use a 32-bit number due to WAVE size limitations */ @@ -164,14 +164,14 @@ _edje_multisense_encode_to_flac(char *snd_path, SF_INFO sfinfo) ok = 0; } } - + /* read blocks of samples from WAVE file and feed to encoder */ while (ok) { FLAC__int32 readbuffer[READBUF * 2]; sf_count_t count; int i; - + count = sf_readf_int(sfile, readbuffer, READBUF); if (count <= 0) break; for (i = 0; i < (count * sfinfo.channels); i++) @@ -187,8 +187,9 @@ _edje_multisense_encode_to_flac(char *snd_path, SF_INFO sfinfo) FLAC__stream_encoder_delete(encoder); sf_close(sfile); - return (snd_path); + return snd_path; } + #endif #ifdef HAVE_VORBIS @@ -233,7 +234,7 @@ _edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sf /********** Encode setup ************/ vorbis_info_init(&vi); - ret = vorbis_encode_init(&vi, sfinfo.channels, sfinfo.samplerate, + ret = vorbis_encode_init(&vi, sfinfo.channels, sfinfo.samplerate, -1, (long)(quality * 1000), -1); if (ret == OV_EFAULT) printf("OV_EFAULT\n"); if (ret == OV_EINVAL) printf("OV_EINVAL\n"); @@ -280,7 +281,7 @@ _edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sf int i, ch; float readbuffer[READBUF * 2]; sf_count_t count; - + count = sf_readf_float(sfile, readbuffer, READBUF); if (!count) @@ -288,12 +289,12 @@ _edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sf else { float **buffer = vorbis_analysis_buffer(&vd, count); - + /* uninterleave samples */ for (i = 0; i < count; i++) { for (ch = 0; ch < sfinfo.channels; ch++) - buffer[ch][i]= readbuffer[(i * sfinfo.channels) + ch]; + buffer[ch][i] = readbuffer[(i * sfinfo.channels) + ch]; } vorbis_analysis_wrote(&vd, i); } @@ -322,8 +323,9 @@ _edje_multisense_encode_to_ogg_vorbis(char *snd_path, double quality, SF_INFO sf vorbis_comment_clear(&vc); vorbis_info_clear(&vi); sf_close(sfile); - fclose (fout); + fclose(fout); return snd_path; } + #endif #endif diff --git a/src/bin/edje/edje_pick.c b/src/bin/edje/edje_pick.c index bc92297675..2079d92cee 100644 --- a/src/bin/edje/edje_pick.c +++ b/src/bin/edje/edje_pick.c @@ -19,7 +19,7 @@ #include "edje_private.h" #define EDJE_PICK_HELP_STRING \ -"\nEdje Pick - the \"edj\" merging tool.\n\ + "\nEdje Pick - the \"edj\" merging tool.\n\ ===================================\n\n\ Use Edje Pick to compose a single edj file \ by selecting groups from edj files.\n\n\ @@ -46,8 +46,8 @@ Replacing the button and check with widgets taken from default theme.\n\ struct _Edje_Pick_Id { - int old_id; - int new_id; + int old_id; + int new_id; Eina_Bool used; }; typedef struct _Edje_Pick_Id Edje_Pick_Id; @@ -55,30 +55,30 @@ typedef struct _Edje_Pick_Id Edje_Pick_Id; struct _Edje_Pick_File_Params { const char *name; - Eina_List *groups; - Edje_File *edf; /* Keeps all file data after reading */ - Eina_Bool append; /* Take everything from this file */ + Eina_List *groups; + Edje_File *edf; /* Keeps all file data after reading */ + Eina_Bool append; /* Take everything from this file */ /* We hold list of IDs for each file */ - Eina_List *scriptlist; - Eina_List *luascriptlist; - Eina_List *imagelist; - Eina_List *imagesetlist; /* List of IDs (Edje_Pick_Data) for image sets */ - Eina_List *vectorlist; - Eina_List *samplelist; - Eina_List *tonelist; - Eina_List *vibrationlist; - Eina_List *fontlist; + Eina_List *scriptlist; + Eina_List *luascriptlist; + Eina_List *imagelist; + Eina_List *imagesetlist; /* List of IDs (Edje_Pick_Data) for image sets */ + Eina_List *vectorlist; + Eina_List *samplelist; + Eina_List *tonelist; + Eina_List *vibrationlist; + Eina_List *fontlist; }; typedef struct _Edje_Pick_File_Params Edje_Pick_File_Params; struct _Edje_Pick_Data { - const char *filename; /* Image, Sample File Name */ - void *entry ; /* used to build output file dir FIXME: REMOVE THIS */ - void *data; /* Data as taken from input file */ + const char *filename; /* Image, Sample File Name */ + void *entry; /* used to build output file dir FIXME: REMOVE THIS */ + void *data; /* Data as taken from input file */ - int size; + int size; Edje_Pick_Id id; }; typedef struct _Edje_Pick_Data Edje_Pick_Data; @@ -86,7 +86,7 @@ typedef struct _Edje_Pick_Data Edje_Pick_Data; struct _Edje_Pick_Tone { Edje_Sound_Tone *tone; - Eina_Bool used; + Eina_Bool used; }; typedef struct _Edje_Pick_Tone Edje_Pick_Tone; @@ -94,15 +94,15 @@ struct _Edje_Pick_Font { Edje_Font *f; - void *data; /* Font data as take from source edj file */ - int size; /* data size */ - Eina_Bool used; + void *data; /* Font data as take from source edj file */ + int size; /* data size */ + Eina_Bool used; }; typedef struct _Edje_Pick_Font Edje_Pick_Font; struct _Edje_Pick { - Eina_Bool v; /* Verbose */ + Eina_Bool v; /* Verbose */ Edje_Pick_File_Params *current_file; }; typedef struct _Edje_Pick Edje_Pick; @@ -112,46 +112,46 @@ static Edje_Pick context = { EINA_FALSE, NULL }; #define VERBOSE(COMMAND) if (context.v) { COMMAND; } enum _Edje_Pick_Status - { - EDJE_PICK_NO_ERROR, - EDJE_PICK_OUT_FILENAME_MISSING, - EDJE_PICK_FAILED_OPEN_INP, - EDJE_PICK_FAILED_READ_INP, - EDJE_PICK_GROUP_NOT_FOUND, - EDJE_PICK_IMAGE_NOT_FOUND, - EDJE_PICK_SAMPLE_NOT_FOUND, - EDJE_PICK_INCLUDE_MISSING, - EDJE_PICK_GROUP_MISSING, - EDJE_PICK_PARSE_FAILED, - EDJE_PICK_HELP_SHOWN, - EDJE_PICK_DUP_GROUP - }; +{ + EDJE_PICK_NO_ERROR, + EDJE_PICK_OUT_FILENAME_MISSING, + EDJE_PICK_FAILED_OPEN_INP, + EDJE_PICK_FAILED_READ_INP, + EDJE_PICK_GROUP_NOT_FOUND, + EDJE_PICK_IMAGE_NOT_FOUND, + EDJE_PICK_SAMPLE_NOT_FOUND, + EDJE_PICK_INCLUDE_MISSING, + EDJE_PICK_GROUP_MISSING, + EDJE_PICK_PARSE_FAILED, + EDJE_PICK_HELP_SHOWN, + EDJE_PICK_DUP_GROUP +}; typedef enum _Edje_Pick_Status Edje_Pick_Status; static void _edje_pick_args_show(Eina_List *ifs, char *out) { /* Print command-line arguments after parsing phase */ - Edje_Pick_File_Params *p; - Eina_List *l; - char *g; + Edje_Pick_File_Params *p; + Eina_List *l; + char *g; - EINA_LOG_INFO("Got args for <%d> input files.\n", eina_list_count(ifs)); + EINA_LOG_INFO("Got args for <%d> input files.\n", eina_list_count(ifs)); - EINA_LIST_FOREACH(ifs, l, p) - { - Eina_List *ll; + EINA_LIST_FOREACH(ifs, l, p) + { + Eina_List *ll; - if (p->append) - printf("\nFile name: %s\n\tGroups: ALL (append mode)\n", p->name); - else - { - printf("\nFile name: %s\n\tGroups:\n", p->name); - EINA_LIST_FOREACH(p->groups, ll, g) - printf("\t\t%s\n", g); - } - } + if (p->append) + printf("\nFile name: %s\n\tGroups: ALL (append mode)\n", p->name); + else + { + printf("\nFile name: %s\n\tGroups:\n", p->name); + EINA_LIST_FOREACH(p->groups, ll, g) + printf("\t\t%s\n", g); + } + } - EINA_LOG_INFO("\nOutput file name was <%s>\n", out); + EINA_LOG_INFO("\nOutput file name was <%s>\n", out); } static void @@ -273,28 +273,35 @@ _edje_pick_cleanup(Eina_List *ifs, Edje_File *out_file, Edje_Pick_Status s) switch (s) { case EDJE_PICK_OUT_FILENAME_MISSING: - EINA_LOG_ERR("Output file name missing.\n"); - break; + EINA_LOG_ERR("Output file name missing.\n"); + break; + case EDJE_PICK_FAILED_OPEN_INP: - EINA_LOG_ERR("Failed to open input file.\n"); - break; + EINA_LOG_ERR("Failed to open input file.\n"); + break; + case EDJE_PICK_FAILED_READ_INP: - EINA_LOG_ERR("Failed to read input file.\n"); - break; + EINA_LOG_ERR("Failed to read input file.\n"); + break; + case EDJE_PICK_DUP_GROUP: - EINA_LOG_ERR("Can't fetch groups with identical name from various files.\n"); - break; + EINA_LOG_ERR("Can't fetch groups with identical name from various files.\n"); + break; + case EDJE_PICK_INCLUDE_MISSING: - EINA_LOG_ERR("Cannot select groups when no input file included.\n"); - break; + EINA_LOG_ERR("Cannot select groups when no input file included.\n"); + break; + case EDJE_PICK_GROUP_MISSING: - EINA_LOG_ERR("Group name missing for include file.\n"); - break; + EINA_LOG_ERR("Group name missing for include file.\n"); + break; + case EDJE_PICK_PARSE_FAILED: - EINA_LOG_ERR("Command parsing failed.\n"); - break; + EINA_LOG_ERR("Command parsing failed.\n"); + break; + default: - return s; + return s; } _edje_edd_shutdown(); @@ -314,7 +321,7 @@ _group_name_in_other_file(Eina_List *inp_files, void *d1, void *d2) EINA_LIST_FOREACH(inp_files, f, current_file) if (inp_file != current_file) if (eina_list_search_unsorted(current_file->groups, - (Eina_Compare_Cb) strcmp, + (Eina_Compare_Cb)strcmp, group)) return 1; @@ -323,173 +330,171 @@ _group_name_in_other_file(Eina_List *inp_files, void *d1, void *d2) static int _edje_pick_command_line_parse(int argc, char **argv, - Eina_List **ifs, char **ofn) + Eina_List **ifs, char **ofn) { /* On return ifs is Input Files List, ofn is Output File Name */ - Eina_List *gpf = NULL; /* List including counters of groups-per-file */ - Eina_List *a_files = NULL; - Eina_List *i_files = NULL; - Eina_List *l; - Eina_List *ll; - Eina_List *cg; - Eina_List *groups = NULL; - char *output_filename = NULL; - Edje_Pick_File_Params *current_inp = NULL; - Eina_List *files = NULL; /* List of input files */ - int *c = NULL; - char *str = NULL; - int k; - Eina_Bool show_help = EINA_FALSE; + Eina_List *gpf = NULL; /* List including counters of groups-per-file */ + Eina_List *a_files = NULL; + Eina_List *i_files = NULL; + Eina_List *l; + Eina_List *ll; + Eina_List *cg; + Eina_List *groups = NULL; + char *output_filename = NULL; + Edje_Pick_File_Params *current_inp = NULL; + Eina_List *files = NULL; /* List of input files */ + int *c = NULL; + char *str = NULL; + int k; + Eina_Bool show_help = EINA_FALSE; - /* Define args syntax */ -#define IS_GROUP(x) ((!strcmp(x, "-g")) || (!strcmp(x, "--group"))) + /* Define args syntax */ +#define IS_GROUP(x) ((!strcmp(x, "-g")) || (!strcmp(x, "--group"))) #define IS_INCLUDE(x) ((!strcmp(x, "-i")) || (!strcmp(x, "--include"))) -#define IS_HELP(x) ((!strcmp(x, "-h")) || (!strcmp(x, "--help"))) - static const Ecore_Getopt optdesc = { - "edje_pick", - NULL, - "0.0", - "(C) 2012 Enlightenment", - "Public domain?", - "Edje Pick - the \"edj\" merging tool.", +#define IS_HELP(x) ((!strcmp(x, "-h")) || (!strcmp(x, "--help"))) + static const Ecore_Getopt optdesc = { + "edje_pick", + NULL, + "0.0", + "(C) 2012 Enlightenment", + "Public domain?", + "Edje Pick - the \"edj\" merging tool.", - EINA_TRUE, + EINA_TRUE, + { + ECORE_GETOPT_STORE_TRUE('v', "verbose", "Verbose"), + ECORE_GETOPT_STORE('o', "output", "Output File", + ECORE_GETOPT_TYPE_STR), + ECORE_GETOPT_APPEND_METAVAR('a', "append", "Append File", + "STRING", ECORE_GETOPT_TYPE_STR), + ECORE_GETOPT_APPEND_METAVAR('i', "include", "Include File", + "STRING", ECORE_GETOPT_TYPE_STR), + ECORE_GETOPT_APPEND_METAVAR('g', "group", "Add Group", + "STRING", ECORE_GETOPT_TYPE_STR), + ECORE_GETOPT_HELP('h', "help"), + ECORE_GETOPT_SENTINEL + } + }; + + Ecore_Getopt_Value values[] = { + ECORE_GETOPT_VALUE_BOOL(context.v), + ECORE_GETOPT_VALUE_STR(output_filename), + ECORE_GETOPT_VALUE_LIST(a_files), + ECORE_GETOPT_VALUE_LIST(i_files), + ECORE_GETOPT_VALUE_LIST(groups), + ECORE_GETOPT_VALUE_NONE + }; + + /* START - Read command line args */ + c = NULL; + for (k = 1; k < argc; k++) + { /* Run through args, count how many groups per file */ + if (IS_GROUP(argv[k])) { - ECORE_GETOPT_STORE_TRUE('v', "verbose", "Verbose"), - ECORE_GETOPT_STORE('o', "output", "Output File", - ECORE_GETOPT_TYPE_STR), - ECORE_GETOPT_APPEND_METAVAR('a', "append", "Append File", - "STRING", ECORE_GETOPT_TYPE_STR), - ECORE_GETOPT_APPEND_METAVAR('i', "include", "Include File", - "STRING", ECORE_GETOPT_TYPE_STR), - ECORE_GETOPT_APPEND_METAVAR('g', "group", "Add Group", - "STRING", ECORE_GETOPT_TYPE_STR), - ECORE_GETOPT_HELP('h', "help"), - ECORE_GETOPT_SENTINEL + if (!c) + return _edje_pick_cleanup(files, NULL, + EDJE_PICK_INCLUDE_MISSING); + + (*c)++; + continue; } - }; - Ecore_Getopt_Value values[] = { - ECORE_GETOPT_VALUE_BOOL(context.v), - ECORE_GETOPT_VALUE_STR(output_filename), - ECORE_GETOPT_VALUE_LIST(a_files), - ECORE_GETOPT_VALUE_LIST(i_files), - ECORE_GETOPT_VALUE_LIST(groups), - ECORE_GETOPT_VALUE_NONE - }; + if (IS_INCLUDE(argv[k])) + { + c = calloc(1, sizeof(int)); + gpf = eina_list_append(gpf, c); + continue; + } - /* START - Read command line args */ - c = NULL; - for(k = 1; k < argc; k++) - { /* Run through args, count how many groups per file */ - if(IS_GROUP(argv[k])) - { - if (!c) - return _edje_pick_cleanup(files, NULL, - EDJE_PICK_INCLUDE_MISSING); + show_help |= IS_HELP(argv[k]); + } - (*c)++; - continue; - } + if (show_help) + puts(EDJE_PICK_HELP_STRING); - if(IS_INCLUDE(argv[k])) - { - c = calloc(1, sizeof(int)); - gpf = eina_list_append(gpf, c); - continue; - } + if (ecore_getopt_parse(&optdesc, values, argc, argv) < 0) + { + EINA_LIST_FREE(gpf, c) + free(c); - show_help |= IS_HELP(argv[k]); - } + return _edje_pick_cleanup(files, NULL, EDJE_PICK_PARSE_FAILED); + } - if (show_help) - puts(EDJE_PICK_HELP_STRING); + if (show_help) + { + EINA_LIST_FREE(gpf, c) + free(c); - if (ecore_getopt_parse(&optdesc, values, argc, argv) < 0) - { - EINA_LIST_FREE(gpf, c) - free(c); + ecore_getopt_list_free(i_files); + ecore_getopt_list_free(groups); + return _edje_pick_cleanup(files, NULL, EDJE_PICK_HELP_SHOWN); + } - return _edje_pick_cleanup(files, NULL, EDJE_PICK_PARSE_FAILED); - } + if (context.v) /* Changed to INFO if verbose */ + eina_log_level_set(EINA_LOG_LEVEL_INFO); - if (show_help) - { - EINA_LIST_FREE(gpf, c) - free(c); + EINA_LIST_FOREACH(a_files, l, str) + { + current_inp = calloc(1, sizeof(*current_inp)); + current_inp->append = EINA_TRUE; + current_inp->name = eina_stringshare_add(str); + files = eina_list_append(files, current_inp); + } + ecore_getopt_list_free(a_files); - ecore_getopt_list_free(i_files); - ecore_getopt_list_free(groups); - return _edje_pick_cleanup(files, NULL, EDJE_PICK_HELP_SHOWN); - } + ll = gpf; + cg = groups; + EINA_LIST_FOREACH(i_files, l, str) + { /* Now match groups from groups-list with included files */ + current_inp = calloc(1, sizeof(*current_inp)); + current_inp->name = eina_stringshare_add(str); + files = eina_list_append(files, current_inp); + c = eina_list_data_get(ll); + if (c) + { + while (*c) + { + char *g_name; + if (!cg) + { + EINA_LIST_FREE(gpf, c) + free(c); - if (context.v) /* Changed to INFO if verbose */ - eina_log_level_set(EINA_LOG_LEVEL_INFO); + ecore_getopt_list_free(i_files); + ecore_getopt_list_free(groups); + return _edje_pick_cleanup(files, NULL, + EDJE_PICK_GROUP_MISSING); + } - EINA_LIST_FOREACH(a_files, l, str) - { - current_inp = calloc(1, sizeof(*current_inp)); - current_inp->append = EINA_TRUE; - current_inp->name = eina_stringshare_add(str); - files = eina_list_append(files, current_inp); - } - ecore_getopt_list_free(a_files); + g_name = eina_list_data_get(cg); + if (_group_name_in_other_file(files, current_inp, g_name)) + return _edje_pick_cleanup(files, NULL, EDJE_PICK_DUP_GROUP); - ll = gpf; - cg = groups; - EINA_LIST_FOREACH(i_files, l, str) - { /* Now match groups from groups-list with included files */ - current_inp = calloc(1, sizeof(*current_inp)); - current_inp->name = eina_stringshare_add(str); - files = eina_list_append(files, current_inp); - c = eina_list_data_get(ll); - if (c) - { - while(*c) - { - char *g_name; - if (!cg) - { - EINA_LIST_FREE(gpf, c) - free(c); + if (!eina_list_search_unsorted(current_inp->groups, + (Eina_Compare_Cb)strcmp, g_name)) + current_inp->groups = eina_list_append( + current_inp->groups, eina_stringshare_add(g_name)); - ecore_getopt_list_free(i_files); - ecore_getopt_list_free(groups); - return _edje_pick_cleanup(files, NULL, - EDJE_PICK_GROUP_MISSING); - } + cg = eina_list_next(cg); + (*c)--; + } + } + ll = eina_list_next(ll); + } + EINA_LIST_FREE(gpf, c) + free(c); - g_name = eina_list_data_get(cg); - if (_group_name_in_other_file(files, current_inp, g_name)) - return _edje_pick_cleanup(files, NULL, EDJE_PICK_DUP_GROUP); + ecore_getopt_list_free(i_files); + ecore_getopt_list_free(groups); - if (!eina_list_search_unsorted(current_inp->groups, - (Eina_Compare_Cb) strcmp, g_name)) - current_inp->groups = eina_list_append( - current_inp->groups, eina_stringshare_add(g_name)); + if (!output_filename) + return _edje_pick_cleanup(files, NULL, EDJE_PICK_OUT_FILENAME_MISSING); + /* END - Read command line args */ - cg = eina_list_next(cg); - (*c)--; - } - } - ll = eina_list_next(ll); - } - - EINA_LIST_FREE(gpf, c) - free(c); - - ecore_getopt_list_free(i_files); - ecore_getopt_list_free(groups); - - - if (!output_filename) - return _edje_pick_cleanup(files, NULL, EDJE_PICK_OUT_FILENAME_MISSING); - /* END - Read command line args */ - - /* Set output params, return OK */ - *ifs = files; - *ofn = output_filename; - return EDJE_PICK_NO_ERROR; + /* Set output params, return OK */ + *ifs = files; + *ofn = output_filename; + return EDJE_PICK_NO_ERROR; } static void @@ -630,31 +635,31 @@ _edje_pick_header_dependencies_check(Edje_File *out_file, Edje_File *edf, Eina_L EINA_LOG_ERR("Failed to read group <%s> id <%d>\n", ce->entry, ce->id); goto exit; } -#define GROUP_CHECK_AND_ADD(NAME) \ - if (NAME) \ - { \ - Edje_Part_Collection_Directory_Entry *ce_cor; \ - if (eina_list_search_unsorted(groups, (void *)strcmp, NAME)) goto exit; \ - ce_cor = eina_hash_find(edf->collection, NAME); \ - if (!eina_hash_find(out_file->collection, ce_cor->entry)) \ - { \ - dep_list_inner = _edje_pick_header_dependencies_check(out_file, edf, groups, ce_cor, current_id); \ - dep_list = eina_list_merge(dep_list, dep_list_inner); \ - } \ - if ((ce_cor) && (!eina_hash_find(out_file->collection, NAME))) \ - { \ - Edje_Part_Collection_Directory_Entry *ce_out; \ - ce_out = malloc(sizeof(*ce_out)); \ - memcpy(ce_out, ce_cor, sizeof(*ce_out)); \ - ce_out->id = *current_id; \ - if (ce_out->group_alias) \ - _edje_pick_header_alias_parent_add(out_file, edf, ce, ce_out); \ - EINA_LOG_INFO("Changing ID of group <%d> to <%d>\n", ce->id, ce_out->id); \ - eina_hash_direct_add(out_file->collection, ce_out->entry, ce_out); \ - (*current_id)++; \ - dep_list = eina_list_append(dep_list, eina_stringshare_add(ce_out->entry)); \ - } \ - } +#define GROUP_CHECK_AND_ADD(NAME) \ + if (NAME) \ + { \ + Edje_Part_Collection_Directory_Entry *ce_cor; \ + if (eina_list_search_unsorted(groups, (void *)strcmp, NAME)) goto exit; \ + ce_cor = eina_hash_find(edf->collection, NAME); \ + if (!eina_hash_find(out_file->collection, ce_cor->entry)) \ + { \ + dep_list_inner = _edje_pick_header_dependencies_check(out_file, edf, groups, ce_cor, current_id); \ + dep_list = eina_list_merge(dep_list, dep_list_inner); \ + } \ + if ((ce_cor) && (!eina_hash_find(out_file->collection, NAME))) \ + { \ + Edje_Part_Collection_Directory_Entry *ce_out; \ + ce_out = malloc(sizeof(*ce_out)); \ + memcpy(ce_out, ce_cor, sizeof(*ce_out)); \ + ce_out->id = *current_id; \ + if (ce_out->group_alias) \ + _edje_pick_header_alias_parent_add(out_file, edf, ce, ce_out); \ + EINA_LOG_INFO("Changing ID of group <%d> to <%d>\n", ce->id, ce_out->id); \ + eina_hash_direct_add(out_file->collection, ce_out->entry, ce_out); \ + (*current_id)++; \ + dep_list = eina_list_append(dep_list, eina_stringshare_add(ce_out->entry)); \ + } \ + } for (i = 0; i < edc->parts_count; i++) { @@ -679,7 +684,7 @@ exit: } static int -_edje_pick_data_update(Edje_File *out_file , Edje_File *edf) +_edje_pick_data_update(Edje_File *out_file, Edje_File *edf) { Eina_Bool status = EDJE_PICK_NO_ERROR; Eina_Iterator *i; @@ -697,7 +702,7 @@ _edje_pick_data_update(Edje_File *out_file , Edje_File *edf) } static int -_edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs) +_edje_pick_header_make(Edje_File *out_file, Edje_File *edf, Eina_List *ifs) { static int current_group_id = 0; Edje_Part_Collection_Directory_Entry *ce; @@ -721,7 +726,7 @@ _edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs) /* We SKIP group of file in append-mode if we got this group */ /* from file in include mode. */ if (_group_name_in_other_file(ifs, context.current_file, name1)) - continue; /* Skip group of file in append mode */ + continue; /* Skip group of file in append mode */ ce = eina_hash_find(edf->collection, name1); ce_out = malloc(sizeof(*ce_out)); @@ -736,7 +741,7 @@ _edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs) /* Add this group to groups to handle for this file */ context.current_file->groups = eina_list_append( - context.current_file->groups, eina_stringshare_add(name1)); + context.current_file->groups, eina_stringshare_add(name1)); } eina_iterator_free(i); @@ -761,7 +766,7 @@ _edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs) } else { - EINA_LIST_FOREACH(context.current_file->groups, l , name1) + EINA_LIST_FOREACH(context.current_file->groups, l, name1) { /* Verify group found then add to ouput file header */ ce = eina_hash_find(edf->collection, name1); @@ -786,7 +791,7 @@ _edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs) EINA_LOG_INFO("Changing ID of group <%d> to <%d>\n", ce->id, ce_out->id); current_group_id++; - eina_hash_direct_add(out_file->collection,ce_out->entry, + eina_hash_direct_add(out_file->collection, ce_out->entry, ce_out); dep_list = _edje_pick_header_dependencies_check(out_file, edf, context.current_file->groups, ce, ¤t_group_id); if (!deps) deps = dep_list; @@ -794,7 +799,7 @@ _edje_pick_header_make(Edje_File *out_file , Edje_File *edf, Eina_List *ifs) } } EINA_LIST_FREE(deps, name1) - context.current_file->groups = eina_list_append(context.current_file->groups, name1); + context.current_file->groups = eina_list_append(context.current_file->groups, name1); } return status; @@ -804,14 +809,14 @@ static int _old_id_cmp(const void *d1, const void *d2) { /* Find currect ID struct */ - return (((Edje_Pick_Data *) d1)->id.old_id - ((intptr_t) d2)); + return ((Edje_Pick_Data *)d1)->id.old_id - ((intptr_t)d2); } static int _new_id_cmp(const void *d1, const void *d2) { /* Find currect ID struct */ - return (((Edje_Pick_Data *) d1)->id.new_id - ((intptr_t) d2)); + return ((Edje_Pick_Data *)d1)->id.new_id - ((intptr_t)d2); } static int @@ -821,8 +826,7 @@ _edje_pick_new_id_get(Eina_List *id_list, int id, Eina_Bool set_used) { Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list, _old_id_cmp, - (void *) (intptr_t) id); - + (void *)(intptr_t)id); if (p_id) { @@ -843,7 +847,7 @@ _edje_pick_image_new_id_get(Eina_List *id_list, int id) { Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list, _old_id_cmp, - (void *) (intptr_t) id); + (void *)(intptr_t)id); if (p_id) return p_id->id.new_id; } @@ -857,7 +861,7 @@ _edje_pick_image_old_id_get(Eina_List *id_list, int id) { Edje_Pick_Data *p_id = eina_list_search_unsorted(id_list, _new_id_cmp, - (void *) (intptr_t) id); + (void *)(intptr_t)id); if (p_id) return p_id->id.old_id; } @@ -874,8 +878,8 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) if (edf->image_dir) { - if (edf->image_dir->entries) - { /* Copy image dir entries of current file */ + if (edf->image_dir->entries) /* Copy image dir entries of current file */ + { Edje_Image_Directory_Entry *entries = NULL; EINA_LIST_FOREACH(context.current_file->imagelist, l, image) @@ -896,7 +900,7 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) o->image_dir->entries = entries; old_id = _edje_pick_image_old_id_get( - context.current_file->imagelist, o->image_dir->entries_count - 1); + context.current_file->imagelist, o->image_dir->entries_count - 1); /* Concatenate current file entries to re-allocated array */ memcpy(&o->image_dir->entries[o->image_dir->entries_count - 1], &edf->image_dir->entries[old_id], @@ -906,8 +910,8 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) } } - if (edf->image_dir->sets) - { /* Copy image dir sets of current file */ + if (edf->image_dir->sets) /* Copy image dir sets of current file */ + { Edje_Image_Directory_Set *sets; EINA_LIST_FOREACH(context.current_file->imagesetlist, l, set) @@ -929,7 +933,7 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) o->image_dir->sets = sets; old_id = _edje_pick_image_old_id_get( - context.current_file->imagesetlist, o->image_dir->sets_count - 1); + context.current_file->imagesetlist, o->image_dir->sets_count - 1); /* Concatenate current file sets to re-allocated array */ memcpy(&o->image_dir->sets[o->image_dir->sets_count - 1], &edf->image_dir->sets[old_id], @@ -938,14 +942,14 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) EINA_LIST_FOREACH(o->image_dir->sets[o->image_dir->sets_count - 1].entries, l1, e) e->id = _edje_pick_image_new_id_get( - context.current_file->imagelist, - e->id); + context.current_file->imagelist, + e->id); } } } - if (edf->image_dir->vectors) - { /* Copy vector dir entries of current file */ + if (edf->image_dir->vectors) /* Copy vector dir entries of current file */ + { Edje_Vector_Directory_Entry *vectors = NULL; EINA_LIST_FOREACH(context.current_file->vectorlist, l, vector) @@ -966,7 +970,7 @@ _edje_pick_images_copy(Edje_File *edf, Edje_File *o) o->image_dir->vectors = vectors; old_id = _edje_pick_image_old_id_get( - context.current_file->vectorlist, o->image_dir->vectors_count - 1); + context.current_file->vectorlist, o->image_dir->vectors_count - 1); /* Concatenate current file vectors to re-allocated array */ memcpy(&o->image_dir->vectors[o->image_dir->vectors_count - 1], &edf->image_dir->vectors[old_id], @@ -991,7 +995,7 @@ _edje_pick_sounds_add(Edje_File *edf) if (edf->sound_dir) /* Copy Sounds */ { - for (k = 0; k < (int) edf->sound_dir->samples_count; k++) + for (k = 0; k < (int)edf->sound_dir->samples_count; k++) { Edje_Sound_Sample *sample = &edf->sound_dir->samples[k]; @@ -1005,13 +1009,13 @@ _edje_pick_sounds_add(Edje_File *edf) smpl->filename = eina_stringshare_add(sample->snd_src); smpl->data = data; smpl->size = size; - smpl->entry = (void *) sample; /* for output file sound dir */ + smpl->entry = (void *)sample; /* for output file sound dir */ smpl->id.old_id = sample->id; sample->id = smpl->id.new_id = current_sample_id; smpl->id.used = EINA_FALSE; VERBOSE(EINA_LOG_INFO("Read <%s> sample data <%p> size <%d>\n", - buf, smpl->data, smpl->size)); + buf, smpl->data, smpl->size)); current_sample_id++; context.current_file->samplelist = @@ -1020,14 +1024,14 @@ _edje_pick_sounds_add(Edje_File *edf) else { EINA_LOG_ERR("Sample <%s> was not found in <%s> file.\n", - sample->name, context.current_file->name); + sample->name, context.current_file->name); status = EDJE_PICK_SAMPLE_NOT_FOUND; /* Should that really be freed? Or is some other handling needed? */ free(data); } } - for (k = 0; k < (int) edf->sound_dir->tones_count; k++) + for (k = 0; k < (int)edf->sound_dir->tones_count; k++) { /* Save all tones as well */ Edje_Pick_Tone *t = malloc(sizeof(*t)); @@ -1056,7 +1060,7 @@ _edje_pick_vibrations_add(Edje_File *edf) if (edf->vibration_dir) /* Copy Sounds */ { - for (k = 0; k < (int) edf->vibration_dir->samples_count; k++) + for (k = 0; k < (int)edf->vibration_dir->samples_count; k++) { Edje_Vibration_Sample *sample = &edf->vibration_dir->samples[k]; @@ -1070,13 +1074,13 @@ _edje_pick_vibrations_add(Edje_File *edf) smpl->filename = eina_stringshare_add(sample->name); smpl->data = data; smpl->size = size; - smpl->entry = (void *) sample; /* for output file vibration dir */ + smpl->entry = (void *)sample; /* for output file vibration dir */ smpl->id.old_id = sample->id; sample->id = smpl->id.new_id = current_sample_id; smpl->id.used = EINA_FALSE; VERBOSE(EINA_LOG_INFO("Read <%s> sample data <%p> size <%d>\n", - buf, smpl->data, smpl->size)); + buf, smpl->data, smpl->size)); current_sample_id++; context.current_file->vibrationlist = @@ -1085,7 +1089,7 @@ _edje_pick_vibrations_add(Edje_File *edf) else { EINA_LOG_ERR("Sample <%s> was not found in <%s> file.\n", - sample->name, context.current_file->name); + sample->name, context.current_file->name); status = EDJE_PICK_SAMPLE_NOT_FOUND; /* Should that really be freed? Or is some other handling needed? */ free(data); @@ -1103,8 +1107,8 @@ _font_cmp(const void *d1, const void *d2) const Edje_Font *f2 = d2; /* Same font if (d1->name == d2->name) AND (d1->file == d2->file) */ - return (strcmp(f1->name, f2->name) | - strcmp(f1->file, f2->file)); + return strcmp(f1->name, f2->name) | + strcmp(f1->file, f2->file); } static int @@ -1124,12 +1128,12 @@ _Edje_Pick_Fonts_add(Edje_File *out_file, Edje_File *edf) if (!eina_list_search_unsorted(context.current_file->fontlist, _font_cmp, f)) continue; /* Add only fonts that are NOT regestered in our list */ - Edje_Pick_Font *ft = malloc(sizeof(*ft)); + Edje_Pick_Font *ft = malloc(sizeof(*ft)); Edje_Font *st = malloc(sizeof(*st)); ft->size = 0; - st->name = (char *) eina_stringshare_add(f->name); - st->file = (char *) eina_stringshare_add(f->file); + st->name = (char *)eina_stringshare_add(f->name); + st->file = (char *)eina_stringshare_add(f->file); snprintf(buf, sizeof(buf), "edje/fonts/%s", f->name); VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", f->name)); @@ -1148,7 +1152,7 @@ _Edje_Pick_Fonts_add(Edje_File *out_file, Edje_File *edf) ft->used = EINA_TRUE; /* TODO: Fix this later */ context.current_file->fontlist = eina_list_append(context.current_file->fontlist, ft); eina_hash_direct_add(out_file->fonts, st->name, st); - }; + } eina_iterator_free(it); @@ -1176,7 +1180,7 @@ _edje_pick_scripts_add(Edje_File *edf, int id, int new_id) s->id.used = EINA_TRUE; VERBOSE(EINA_LOG_INFO("Read embryo script <%s> data <%p> size <%d>\n", - buf, s->data, s->size)); + buf, s->data, s->size)); context.current_file->scriptlist = eina_list_append(context.current_file->scriptlist, s); } else @@ -1209,7 +1213,7 @@ _edje_pick_lua_scripts_add(Edje_File *edf, int id, int new_id) s->id.used = EINA_TRUE; VERBOSE(EINA_LOG_INFO("Read lua script <%s> data <%p> size <%d>\n", - buf, s->data, s->size)); + buf, s->data, s->size)); context.current_file->luascriptlist = eina_list_append(context.current_file->luascriptlist, s); } else @@ -1234,25 +1238,25 @@ _edje_pick_image_entry_add(int id, Edje_File *edf, Edje_File *o) if (edf->image_dir) { - if (!o->image_dir) /* First time only */ + if (!o->image_dir) /* First time only */ o->image_dir = calloc(1, sizeof(*(o->image_dir))); - if (edf->image_dir->entries) - { /* Copy Images */ + if (edf->image_dir->entries) /* Copy Images */ + { Edje_Image_Directory_Entry *img = &edf->image_dir->entries[id]; snprintf(buf, sizeof(buf), "edje/images/%i", img->id); VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", img->entry)); data = eet_read(edf->ef, buf, &size); - if (size) - { /* Advance image ID and register this in imagelist */ + if (size) /* Advance image ID and register this in imagelist */ + { current_img_id++; Edje_Pick_Data *image = malloc(sizeof(*image)); image->filename = eina_stringshare_add(img->entry); image->data = data; image->size = size; - image->entry = (void *) img; /* for output file image dir */ + image->entry = (void *)img; /* for output file image dir */ image->id.old_id = img->id; img->id = image->id.new_id = current_img_id; image->id.used = EINA_TRUE; @@ -1261,18 +1265,18 @@ _edje_pick_image_entry_add(int id, Edje_File *edf, Edje_File *o) buf, image->data, image->size, image->id.new_id)); context.current_file->imagelist = eina_list_append( - context.current_file->imagelist, image); + context.current_file->imagelist, image); } else { if (img->entry) { EINA_LOG_ERR("Image <%s> was not found in <%s> file.\n", - img->entry , context.current_file->name); + img->entry, context.current_file->name); } else { - EINA_LOG_ERR("Image entry <%s> was not found in <%s> file.\n", buf , context.current_file->name); + EINA_LOG_ERR("Image entry <%s> was not found in <%s> file.\n", buf, context.current_file->name); } /* Should that really be freed? Or is some other handling needed? */ free(data); @@ -1295,11 +1299,11 @@ _edje_pick_image_set_add(int id, Edje_File *edf, Edje_File *o) if (edf->image_dir) { - if (!o->image_dir) /* First time only */ + if (!o->image_dir) /* First time only */ o->image_dir = calloc(1, sizeof(*(o->image_dir))); - if (edf->image_dir->sets) - { /* Fix IDs in sets to new assigned IDs of entries */ + if (edf->image_dir->sets) /* Fix IDs in sets to new assigned IDs of entries */ + { current_set_id++; Edje_Pick_Data *set = calloc(1, sizeof(*set)); set->id.old_id = edf->image_dir->sets[id].id; @@ -1308,7 +1312,7 @@ _edje_pick_image_set_add(int id, Edje_File *edf, Edje_File *o) /* Save IDs in set-list, used in Desc update later */ context.current_file->imagesetlist = eina_list_append( - context.current_file->imagesetlist, set); + context.current_file->imagesetlist, set); EINA_LIST_FOREACH(edf->image_dir->sets[id].entries, l, ent) { _edje_pick_image_entry_add(ent->id, edf, o); @@ -1332,25 +1336,25 @@ _edje_pick_vector_entry_add(int id, Edje_File *edf, Edje_File *o) if (edf->image_dir) { - if (!o->image_dir) /* First time only */ + if (!o->image_dir) /* First time only */ o->image_dir = calloc(1, sizeof(*(o->image_dir))); - if (edf->image_dir->vectors) - { /* Copy Vectors */ + if (edf->image_dir->vectors) /* Copy Vectors */ + { Edje_Vector_Directory_Entry *vg = &edf->image_dir->vectors[id]; snprintf(buf, sizeof(buf), "edje/vectors/%i", vg->id); VERBOSE(EINA_LOG_INFO("Trying to read <%s>\n", vg->entry)); data = eet_read(edf->ef, buf, &size); - if (size) - { /* Advance vector ID and register this in vectorlist */ + if (size) /* Advance vector ID and register this in vectorlist */ + { current_vg_id++; Edje_Pick_Data *vector = malloc(sizeof(*vector)); vector->filename = eina_stringshare_add(vg->entry); vector->data = data; vector->size = size; - vector->entry = (void *) vg; /* for output file vector dir */ + vector->entry = (void *)vg; /* for output file vector dir */ vector->id.old_id = vg->id; vg->id = vector->id.new_id = current_vg_id; vector->id.used = EINA_TRUE; @@ -1359,18 +1363,18 @@ _edje_pick_vector_entry_add(int id, Edje_File *edf, Edje_File *o) buf, vector->data, vector->size, vector->id.new_id)); context.current_file->vectorlist = eina_list_append( - context.current_file->vectorlist, vector); + context.current_file->vectorlist, vector); } else { if (vg->entry) { EINA_LOG_ERR("Vector <%s> was not found in <%s> file.\n", - vg->entry , context.current_file->name); + vg->entry, context.current_file->name); } else { - EINA_LOG_ERR("Vector entry <%s> was not found in <%s> file.\n", buf , context.current_file->name); + EINA_LOG_ERR("Vector entry <%s> was not found in <%s> file.\n", buf, context.current_file->name); } /* Should that really be freed? Or is some other handling needed? */ free(data); @@ -1470,34 +1474,34 @@ _edje_pick_resources_process(Edje_Part_Collection *edc, Edje_File *edf, Edje_Fil Edje_Part *part = edc->parts[i]; /* Update all color class in ALL descs of this part */ - _edje_pick_color_class_desc_update((Edje_Part_Description_Common *) part->default_desc, edf, o); + _edje_pick_color_class_desc_update((Edje_Part_Description_Common *)part->default_desc, edf, o); for (k = 0; k < part->other.desc_count; k++) - _edje_pick_color_class_desc_update((Edje_Part_Description_Common *) part->other.desc[k], edf, o); + _edje_pick_color_class_desc_update((Edje_Part_Description_Common *)part->other.desc[k], edf, o); if (part->type == EDJE_PART_TYPE_IMAGE) { /* Update IDs of all images in ALL descs of this part */ - _edje_pick_images_desc_update((Edje_Part_Description_Image *) part->default_desc, edf, o); + _edje_pick_images_desc_update((Edje_Part_Description_Image *)part->default_desc, edf, o); for (k = 0; k < part->other.desc_count; k++) - _edje_pick_images_desc_update((Edje_Part_Description_Image *) part->other.desc[k], edf, o); + _edje_pick_images_desc_update((Edje_Part_Description_Image *)part->other.desc[k], edf, o); } else if (part->type == EDJE_PART_TYPE_VECTOR) { /* Update IDs of all vectors in ALL descs of this part */ - _edje_pick_vectors_desc_update((Edje_Part_Description_Vector *) part->default_desc, edf, o); + _edje_pick_vectors_desc_update((Edje_Part_Description_Vector *)part->default_desc, edf, o); for (k = 0; k < part->other.desc_count; k++) - _edje_pick_vectors_desc_update((Edje_Part_Description_Vector *) part->other.desc[k], edf, o); + _edje_pick_vectors_desc_update((Edje_Part_Description_Vector *)part->other.desc[k], edf, o); } else if (part->type == EDJE_PART_TYPE_TEXT || part->type == EDJE_PART_TYPE_TEXTBLOCK) { /* Update all styles in ALL descs of this part */ - _edje_pick_styles_desc_update((Edje_Part_Description_Text *) part->default_desc, edf, o); + _edje_pick_styles_desc_update((Edje_Part_Description_Text *)part->default_desc, edf, o); for (k = 0; k < part->other.desc_count; k++) - _edje_pick_styles_desc_update((Edje_Part_Description_Text *) part->other.desc[k], edf, o); + _edje_pick_styles_desc_update((Edje_Part_Description_Text *)part->other.desc[k], edf, o); } } } @@ -1508,7 +1512,7 @@ _sample_cmp(const void *d1, const void *d2) /* Locate sample by name */ if (d2) { - Edje_Sound_Sample *sample = ((Edje_Pick_Data *) d1)->entry; + Edje_Sound_Sample *sample = ((Edje_Pick_Data *)d1)->entry; return strcmp(sample->name, d2); } @@ -1522,7 +1526,7 @@ _tone_cmp(const void *d1, const void *d2) /* Locate tone by name */ if (d2) { - Edje_Sound_Tone *tone = ((Edje_Pick_Tone *) d1)->tone; + Edje_Sound_Tone *tone = ((Edje_Pick_Tone *)d1)->tone; return strcmp(tone->name, d2); } @@ -1538,7 +1542,7 @@ _edje_pick_program_update(Edje_Program *prog) /* Scan for used samples, update samples IDs */ p = eina_list_search_unsorted(context.current_file->samplelist, - (Eina_Compare_Cb) _sample_cmp, + (Eina_Compare_Cb)_sample_cmp, prog->sample_name); /* Sample is used by program, should be saved */ @@ -1547,7 +1551,7 @@ _edje_pick_program_update(Edje_Program *prog) /* handle tones as well */ t = eina_list_search_unsorted(context.current_file->tonelist, - (Eina_Compare_Cb) _tone_cmp, + (Eina_Compare_Cb)_tone_cmp, prog->tone_name); /* Tone is used by program, should be saved */ @@ -1561,19 +1565,19 @@ _edje_pick_programs_process(Edje_Part_Collection *edc) /* This wil mark which samples are used and should be saved */ unsigned int i; - for(i = 0; i < edc->programs.fnmatch_count; i++) + for (i = 0; i < edc->programs.fnmatch_count; i++) _edje_pick_program_update(edc->programs.fnmatch[i]); - for(i = 0; i < edc->programs.strcmp_count; i++) + for (i = 0; i < edc->programs.strcmp_count; i++) _edje_pick_program_update(edc->programs.strcmp[i]); - for(i = 0; i < edc->programs.strncmp_count; i++) + for (i = 0; i < edc->programs.strncmp_count; i++) _edje_pick_program_update(edc->programs.strncmp[i]); - for(i = 0; i < edc->programs.strrncmp_count; i++) + for (i = 0; i < edc->programs.strrncmp_count; i++) _edje_pick_program_update(edc->programs.strrncmp[i]); - for(i = 0; i < edc->programs.nocmp_count; i++) + for (i = 0; i < edc->programs.nocmp_count; i++) _edje_pick_program_update(edc->programs.nocmp[i]); return EDJE_PICK_NO_ERROR; @@ -1597,67 +1601,67 @@ _edje_pick_collection_process(Edje_Part_Collection *edc, Edje_File *edf, Edje_Fi static void _edje_pick_sound_dir_compose(Eina_List *samples, Eina_List *tones, Edje_File *o) { /* Compose sound_dir array from all used samples, tones */ - if (samples) - { - Edje_Sound_Sample *sample; - Edje_Sound_Sample *p; - Eina_List *l; + if (samples) + { + Edje_Sound_Sample *sample; + Edje_Sound_Sample *p; + Eina_List *l; - o->sound_dir = calloc(1, sizeof(*(o->sound_dir))); - o->sound_dir->samples = malloc(eina_list_count(samples) * - sizeof(Edje_Sound_Sample)); + o->sound_dir = calloc(1, sizeof(*(o->sound_dir))); + o->sound_dir->samples = malloc(eina_list_count(samples) * + sizeof(Edje_Sound_Sample)); - p = o->sound_dir->samples; - EINA_LIST_FOREACH(samples, l, sample) - { - memcpy(p, sample, sizeof(Edje_Sound_Sample)); - p++; - } + p = o->sound_dir->samples; + EINA_LIST_FOREACH(samples, l, sample) + { + memcpy(p, sample, sizeof(Edje_Sound_Sample)); + p++; + } - o->sound_dir->samples_count = eina_list_count(samples); + o->sound_dir->samples_count = eina_list_count(samples); - if (tones) - { - Edje_Sound_Tone *tone; - Edje_Sound_Tone *t; + if (tones) + { + Edje_Sound_Tone *tone; + Edje_Sound_Tone *t; - o->sound_dir->tones = malloc(eina_list_count(tones) * - sizeof(Edje_Sound_Tone)); + o->sound_dir->tones = malloc(eina_list_count(tones) * + sizeof(Edje_Sound_Tone)); - t = o->sound_dir->tones; - EINA_LIST_FOREACH(tones, l, tone) - { - memcpy(t, tone, sizeof(Edje_Sound_Tone)); - t++; - } + t = o->sound_dir->tones; + EINA_LIST_FOREACH(tones, l, tone) + { + memcpy(t, tone, sizeof(Edje_Sound_Tone)); + t++; + } - o->sound_dir->tones_count = eina_list_count(tones); - } - } + o->sound_dir->tones_count = eina_list_count(tones); + } + } } static void _edje_pick_vibration_dir_compose(Eina_List *vibrations, Edje_File *o) { /* Compose vibrationdir array from all used vibrations */ - if (vibrations) - { - Edje_Vibration_Sample *sample; - Edje_Vibration_Sample *p; - Eina_List *l; + if (vibrations) + { + Edje_Vibration_Sample *sample; + Edje_Vibration_Sample *p; + Eina_List *l; - o->vibration_dir = calloc(1, sizeof(*(o->vibration_dir))); - o->vibration_dir->samples = malloc(eina_list_count(vibrations) * - sizeof(Edje_Vibration_Sample)); + o->vibration_dir = calloc(1, sizeof(*(o->vibration_dir))); + o->vibration_dir->samples = malloc(eina_list_count(vibrations) * + sizeof(Edje_Vibration_Sample)); - p = o->vibration_dir->samples; - EINA_LIST_FOREACH(vibrations, l, sample) - { - memcpy(p, sample, sizeof(Edje_Vibration_Sample)); - p++; - } + p = o->vibration_dir->samples; + EINA_LIST_FOREACH(vibrations, l, sample) + { + memcpy(p, sample, sizeof(Edje_Vibration_Sample)); + p++; + } - o->vibration_dir->samples_count = eina_list_count(vibrations); - } + o->vibration_dir->samples_count = eina_list_count(vibrations); + } } int @@ -1701,12 +1705,12 @@ main(int argc, char **argv) ef = eet_open(context.current_file->name, EET_FILE_MODE_READ); if (!ef) return _edje_pick_cleanup(inp_files, out_file, - EDJE_PICK_FAILED_OPEN_INP); + EDJE_PICK_FAILED_OPEN_INP); edf = eet_data_read(ef, _edje_edd_edje_file, "edje/file"); if (!edf) return _edje_pick_cleanup(inp_files, out_file, - EDJE_PICK_FAILED_READ_INP); + EDJE_PICK_FAILED_READ_INP); context.current_file->edf = edf; edf->ef = ef; @@ -1734,52 +1738,52 @@ main(int argc, char **argv) _edje_pick_data_update(out_file, edf); /* Process Groups */ - EINA_LIST_FOREACH(context.current_file->groups, l , name1) + EINA_LIST_FOREACH(context.current_file->groups, l, name1) { /* Read group info */ - ce = eina_hash_find(edf->collection, name1); - if (!ce || (ce->id < 0)) - { - EINA_LOG_ERR("Failed to find group <%s> id\n", name1); - _edje_cache_file_unref(edf); - return _edje_pick_cleanup(inp_files, out_file, - EDJE_PICK_GROUP_NOT_FOUND); - } + ce = eina_hash_find(edf->collection, name1); + if (!ce || (ce->id < 0)) + { + EINA_LOG_ERR("Failed to find group <%s> id\n", name1); + _edje_cache_file_unref(edf); + return _edje_pick_cleanup(inp_files, out_file, + EDJE_PICK_GROUP_NOT_FOUND); + } - VERBOSE(EINA_LOG_INFO("Copy group: <%s>\n", name1)); + VERBOSE(EINA_LOG_INFO("Copy group: <%s>\n", name1)); - edje_cache_emp_alloc(ce); + edje_cache_emp_alloc(ce); - snprintf(buf, sizeof(buf), "edje/collections/%i", ce->id); - EINA_LOG_INFO("Trying to read group <%s>\n", buf); - edc = eet_data_read(edf->ef, _edje_edd_edje_part_collection, buf); - if (!edc) - { - EINA_LOG_ERR("Failed to read group <%s> id <%d>\n", name1, ce->id); - _edje_cache_file_unref(edf); - return _edje_pick_cleanup(inp_files, out_file, - EDJE_PICK_GROUP_NOT_FOUND); - } + snprintf(buf, sizeof(buf), "edje/collections/%i", ce->id); + EINA_LOG_INFO("Trying to read group <%s>\n", buf); + edc = eet_data_read(edf->ef, _edje_edd_edje_part_collection, buf); + if (!edc) + { + EINA_LOG_ERR("Failed to read group <%s> id <%d>\n", name1, ce->id); + _edje_cache_file_unref(edf); + return _edje_pick_cleanup(inp_files, out_file, + EDJE_PICK_GROUP_NOT_FOUND); + } - /* Update IDs */ - _edje_pick_collection_process(edc, edf, out_file); + /* Update IDs */ + _edje_pick_collection_process(edc, edf, out_file); - /* Build lists of all scripts with new IDs */ - _edje_pick_scripts_add(edf, ce->id, edc->id); - _edje_pick_lua_scripts_add(edf, ce->id, edc->id); + /* Build lists of all scripts with new IDs */ + _edje_pick_scripts_add(edf, ce->id, edc->id); + _edje_pick_lua_scripts_add(edf, ce->id, edc->id); - { - /* Write the group to output file using new id */ - snprintf(buf, sizeof(buf), - "edje/collections/%i", edc->id); - bytes = eet_data_write(out_file->ef, - _edje_edd_edje_part_collection, - buf, edc, comp_mode); - EINA_LOG_INFO("Wrote <%d> bytes for group <%s>\n", bytes,buf); - } + { + /* Write the group to output file using new id */ + snprintf(buf, sizeof(buf), + "edje/collections/%i", edc->id); + bytes = eet_data_write(out_file->ef, + _edje_edd_edje_part_collection, + buf, edc, comp_mode); + EINA_LOG_INFO("Wrote <%d> bytes for group <%s>\n", bytes, buf); + } - free(edc); - edje_cache_emp_free(ce); - eet_close(ef); + free(edc); + edje_cache_emp_free(ce); + eet_close(ef); } _edje_pick_images_copy(edf, out_file); /* Add Images to imagelist */ @@ -1806,7 +1810,7 @@ main(int argc, char **argv) snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%i", s->id.new_id); VERBOSE(EINA_LOG_INFO("wrote embryo scr <%s> data <%p> size <%d>\n", - buf, s->data, s->size)); + buf, s->data, s->size)); eet_write(out_file->ef, buf, s->data, s->size, comp_mode); } @@ -1816,7 +1820,7 @@ main(int argc, char **argv) snprintf(buf, sizeof(buf), "edje/scripts/lua/%i", s->id.new_id); VERBOSE(EINA_LOG_INFO("wrote lua scr <%s> data <%p> size <%d>\n", - buf, s->data, s->size)); + buf, s->data, s->size)); eet_write(out_file->ef, buf, s->data, s->size, comp_mode); } @@ -1852,8 +1856,8 @@ main(int argc, char **argv) EINA_LIST_FOREACH(context.current_file->samplelist, l, s) { - if (context.current_file->append || s->id.used) - { /* Write only used samples */ + if (context.current_file->append || s->id.used) /* Write only used samples */ + { samples = eina_list_append(samples, s->entry); snprintf(buf, sizeof(buf), "edje/sounds/%i", @@ -1861,7 +1865,7 @@ main(int argc, char **argv) eet_write(out_file->ef, buf, s->data, s->size, EET_COMPRESSION_NONE); VERBOSE(EINA_LOG_INFO("Wrote <%s> sample data <%p> size <%d>\n", - buf, s->data, s->size)); + buf, s->data, s->size)); } } @@ -1873,16 +1877,16 @@ main(int argc, char **argv) EINA_LIST_FOREACH(context.current_file->vibrationlist, l, s) { - if (context.current_file->append || s->id.used) - { /* Write only used vibrations */ + if (context.current_file->append || s->id.used) /* Write only used vibrations */ + { vibrations = eina_list_append(vibrations, s->entry); snprintf(buf, sizeof(buf), "edje/vibrations/%i", s->id.new_id); eet_write(out_file->ef, buf, - s->data, s->size,EINA_TRUE); + s->data, s->size, EINA_TRUE); VERBOSE(EINA_LOG_INFO("Wrote <%s> vibration data <%p> size <%d>\n", - buf, s->data, s->size)); + buf, s->data, s->size)); } } } @@ -1907,3 +1911,4 @@ main(int argc, char **argv) return _edje_pick_cleanup(inp_files, out_file, EDJE_PICK_NO_ERROR); } + diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c index 768f24e31d..079495a174 100644 --- a/src/bin/edje/edje_player.c +++ b/src/bin/edje/edje_player.c @@ -590,6 +590,7 @@ _slave_mode(void *data, Ecore_Fd_Handler *fd_handler) return ECORE_CALLBACK_RENEW; } + #endif static void @@ -1124,9 +1125,9 @@ main(int argc, char **argv) f = eina_file_open(opts.file, EINA_FALSE); if (edje_mmap_3d_has(f, group)) { - Eina_List* engine_list, *n; + Eina_List *engine_list, *n; Eina_Bool opengl_x11_has = EINA_FALSE, wayland_egl_has = EINA_FALSE; - const char* engine; + const char *engine; engine_list = ecore_evas_engines_get(); EINA_LIST_FOREACH(engine_list, n, engine) { diff --git a/src/bin/edje/edje_watch.c b/src/bin/edje/edje_watch.c index 043d3af295..7c049a609a 100644 --- a/src/bin/edje/edje_watch.c +++ b/src/bin/edje/edje_watch.c @@ -43,7 +43,7 @@ read_watch_file(const char *file) const char *path; Eina_Bool do_append = EINA_TRUE; - if (ln->length < 4) continue ; + if (ln->length < 4) continue; if (anotate) { path = eina_stringshare_add_length(ln->start + 3, ln->length - 3); @@ -56,7 +56,7 @@ read_watch_file(const char *file) path = eina_stringshare_add_length(ln->start, ln->length); } if (do_append) - r = eina_list_append(r, eio_monitor_add(path)); + r = eina_list_append(r, eio_monitor_add(path)); eina_stringshare_del(path); } eina_iterator_free(it); @@ -65,7 +65,7 @@ read_watch_file(const char *file) eio_monitor_del(mon); watching = r; - err: +err: eina_file_close(f); } @@ -150,3 +150,4 @@ main(int argc, char **argv) return 1; } + diff --git a/src/bin/efl/efl_debugd.c b/src/bin/efl/efl_debugd.c index cd4a819eaf..c7cad1e4ff 100644 --- a/src/bin/efl/efl_debugd.c +++ b/src/bin/efl/efl_debugd.c @@ -592,7 +592,6 @@ _local_server_create(void) #ifdef EFL_NET_SERVER_UNIX_CLASS { Eo *inner_server = efl_net_server_simple_inner_server_get(_local_server); - efl_net_server_unix_unlink_before_bind_set(inner_server, EINA_TRUE); efl_net_server_unix_leading_directories_create_set(inner_server, EINA_TRUE, 0700); } #endif diff --git a/src/bin/elementary/Makefile.am b/src/bin/elementary/Makefile.am index 43c72f412d..8828276e26 100644 --- a/src/bin/elementary/Makefile.am +++ b/src/bin/elementary/Makefile.am @@ -48,6 +48,7 @@ test_bg.c \ test_box.c \ test_bubble.c \ test_button.c \ +test_ui_button.c \ test_calendar.c \ test_check.c \ test_clock.c \ @@ -132,6 +133,9 @@ test_slideshow.c \ test_spinner.c \ test_ui_spinner.c \ test_ui_buttonspin.c \ +test_ui_datepicker.c \ +test_ui_timepicker.c \ +test_ui_tags.c \ test_store.c \ test_sys_notify.c \ test_systray.c \ @@ -155,6 +159,7 @@ test_win_state.c \ test_win_wm_rotation.c \ test_win_dialog.c \ test_gesture_framework.c \ +test_ui_tab_pager.c \ test.h elementary_test_LDADD = $(top_builddir)/src/lib/libelementary.la \ diff --git a/src/bin/elementary/config.c b/src/bin/elementary/config.c index a57410a311..88767b9bc7 100644 --- a/src/bin/elementary/config.c +++ b/src/bin/elementary/config.c @@ -1943,6 +1943,25 @@ _status_config_focus(Evas_Object *win, elm_naviframe_item_simple_push(naviframe, bx); } +static void +_web_entry_del(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *info EINA_UNUSED) +{ + if (interactive) + { + const char *web_backend_set = elm_config_web_backend_get(); + + web_backend = elm_object_text_get(obj); + if ((web_backend_set != web_backend) || + (web_backend && web_backend_set && + (!!strcmp(web_backend, web_backend_set)))) + { + elm_config_web_backend_set(web_backend); + fprintf(stderr, "web backend set to : [%s]\n", elm_config_web_backend_get()); + elm_config_all_flush(); + } + } +} + static void _status_config_etc(Evas_Object *win, Evas_Object *naviframe) @@ -2015,6 +2034,7 @@ _status_config_etc(Evas_Object *win, evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(en); elm_box_pack_end(bx3, en); + evas_object_event_callback_add(en, EVAS_CALLBACK_DEL, _web_entry_del, NULL); web_backend_entry = en; @@ -4203,16 +4223,18 @@ _status_config_full(Evas_Object *win, tb_it = elm_toolbar_item_append(tb, "preferences-desktop-display", "Sizing", _cf_sizing, win); - elm_toolbar_item_append(tb, "preferences-desktop-theme", - "Theme", _cf_themes, win); + if (!eina_streq(getenv("DESKTOP"), "Enlightenment")) + elm_toolbar_item_append(tb, "preferences-desktop-theme", + "Theme", _cf_themes, win); elm_toolbar_item_append(tb, "preferences-color", "Icons", _cf_icons, win); elm_toolbar_item_append(tb, "preferences-desktop-font", "Fonts", _cf_fonts, win); elm_toolbar_item_append(tb, "preferences-desktop-multimedia", "Audio", _cf_audio, win); - elm_toolbar_item_append(tb, "preferences-profile", - "Profiles", _cf_profiles, win); + if (!eina_streq(getenv("DESKTOP"), "Enlightenment")) + elm_toolbar_item_append(tb, "preferences-profile", + "Profiles", _cf_profiles, win); elm_toolbar_item_append(tb, NULL, "Scrolling", _cf_scrolling, win); elm_toolbar_item_append(tb, NULL, "Rendering", _cf_rendering, win); elm_toolbar_item_append(tb, NULL, "Caches", _cf_caches, win); @@ -4284,19 +4306,6 @@ efl_terminate(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) { fprintf(stderr, "Terminating.\n"); - if (interactive) - { - const char *web_backend_set = elm_config_web_backend_get(); - - web_backend = elm_object_text_get(web_backend_entry); - if (web_backend_set != web_backend || - (web_backend && web_backend_set && !!strcmp(web_backend, web_backend_set))) - { - elm_config_web_backend_set(web_backend); - fprintf(stderr, "web backend set to : [%s]\n", elm_config_web_backend_get()); - elm_config_all_flush(); - } - } } /* this is your elementary main function - it MUST be called IMMEDIATELY diff --git a/src/bin/elementary/quicklaunch.c b/src/bin/elementary/quicklaunch.c index 6370f6d683..eb376ee216 100644 --- a/src/bin/elementary/quicklaunch.c +++ b/src/bin/elementary/quicklaunch.c @@ -182,6 +182,7 @@ main(int argc, char **argv) char buf[PATH_MAX]; struct sigaction action; const char *domain; + char *rundir; int ret = 0; if (!eina_init()) @@ -203,7 +204,9 @@ main(int argc, char **argv) if (!domain) domain = getenv("DISPLAY"); if (!domain) domain = "unknown"; } - snprintf(buf, sizeof(buf), "/tmp/elm-ql-%i", getuid()); + rundir = getenv("XDG_RUNTIME_DIR"); + if (!rundir) rundir = "/tmp"; + snprintf(buf, sizeof(buf), "%s/elm-ql-%i", rundir, getuid()); if (stat(buf, &st) < 0) { ret = mkdir(buf, S_IRUSR | S_IWUSR | S_IXUSR); @@ -213,7 +216,7 @@ main(int argc, char **argv) exit(-1); } } - snprintf(buf, sizeof(buf), "/tmp/elm-ql-%i/%s", getuid(), domain); + snprintf(buf, sizeof(buf), "%s/elm-ql-%i/%s", rundir, getuid(), domain); unlink(buf); sock = socket(AF_UNIX, SOCK_STREAM, 0); if (sock < 0) diff --git a/src/bin/elementary/run.c b/src/bin/elementary/run.c index 6d547ad16a..41f666f373 100644 --- a/src/bin/elementary/run.c +++ b/src/bin/elementary/run.c @@ -34,6 +34,7 @@ main(int argc, char **argv) int we_are_elementary_run = 0; char *domain; char *cwd; + char *rundir; int sargc, slen, envnum; unsigned char *sbuf = NULL, *pos; @@ -51,7 +52,9 @@ main(int argc, char **argv) if (!domain) domain = getenv("DISPLAY"); if (!domain) domain = "unknown"; } - snprintf(buf, sizeof(buf), "/tmp/elm-ql-%i/%s", getuid(), domain); + rundir = getenv("XDG_RUNTIME_DIR"); + if (!rundir) rundir = "/tmp"; + snprintf(buf, sizeof(buf), "%s/elm-ql-%i/%s", rundir, getuid(), domain); if ((sock = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { perror("elementary_quicklaunch: socket(AF_UNIX, SOCK_STREAM, 0)"); diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c index 1f75b930cb..8d8d9701d5 100644 --- a/src/bin/elementary/test.c +++ b/src/bin/elementary/test.c @@ -31,6 +31,7 @@ void test_box_align(void *data, Evas_Object *obj, void *event_info); void test_box_stack(void *data, Evas_Object *obj, void *event_info); void test_ui_box(void *data, Evas_Object *obj, void *event_info); void test_button(void *data, Evas_Object *obj, void *event_info); +void test_ui_button(void *data, Evas_Object *obj, void *event_info); void test_cnp(void *data, Evas_Object *obj, void *event_info); void test_events(void *data, Evas_Object *obj, void *event_info); void test_transit(void *data, Evas_Object *obj, void *event_info); @@ -140,6 +141,7 @@ void test_genlist_filter(void *data, Evas_Object *obj, void *event_info); void test_genlist_show_bring(void *data, Evas_Object *obj, void *event_info); void test_genlist_cache(void *data, Evas_Object *obj, void *event_info); void test_genlist_reusable(void *data, Evas_Object *obj, void *event_info); +void test_genlist_item_show(void *data, Evas_Object *obj, void *event_info); void test_gesture_layer(void *data, Evas_Object *obj, void *event_info); void test_gesture_layer2(void *data, Evas_Object *obj, void *event_info); void test_gesture_layer3(void *data, Evas_Object *obj, void *event_info); @@ -169,6 +171,7 @@ void test_win_state2(void *data, Evas_Object *obj, void *event_info); void test_win_stack(void *data, Evas_Object *obj, void *event_info); void test_progressbar(void *data, Evas_Object *obj, void *event_info); void test_progressbar2(void *data, Evas_Object *obj, void *event_info); +void test_ui_progressbar(void *data, Evas_Object *obj, void *event_info); void test_fileselector(void *data, Evas_Object *obj, void *event_info); void test_separator(void *data, Evas_Object *obj, void *event_info); void test_scroller(void *data, Evas_Object *obj, void *event_info); @@ -181,6 +184,9 @@ void test_efl_ui_scroller2(void *data, Evas_Object *obj, void *event_info); void test_spinner(void *data, Evas_Object *obj, void *event_info); void test_ui_spin(void *data, Evas_Object *obj, void *event_info); void test_ui_spin_button(void *data, Evas_Object *obj, void *event_info); +void test_ui_datepicker(void *data, Evas_Object *obj, void *event_info); +void test_ui_timepicker(void *data, Evas_Object *obj, void *event_info); +void test_ui_tags(void *data, Evas_Object *obj, void *event_info); void test_index(void *data, Evas_Object *obj, void *event_info); void test_index2(void *data, Evas_Object *obj, void *event_info); void test_index3(void *data, Evas_Object *obj, void *event_info); @@ -275,6 +281,7 @@ void test_naviframe(void *data, Evas_Object *obj, void *event_info); void test_naviframe2(void *data, Evas_Object *obj, void *event_info); void test_naviframe3(void *data, Evas_Object *obj, void *event_info); void test_naviframe_complex(void *data, Evas_Object *obj, void *event_info); +void test_ui_stack(void *data, Evas_Object *obj, void *event_info); //void test_factory(void *data, Evas_Object *obj, void *event_info); void test_datetime(void *data, Evas_Object *obj, void *event_info); void test_ui_clock(void *data, Evas_Object *obj, void *event_info); @@ -325,6 +332,7 @@ void test_colorclass(void *data, Evas_Object *obj, void *event_info); void test_code_welcome(void *data, Evas_Object *obj, void *event_info); void test_code_editor(void *data, Evas_Object *obj, void *event_info); void test_code_syntax(void *data, Evas_Object *obj, void *event_info); +void test_code_syntax_tabbed(void *data, Evas_Object *obj, void *event_info); void test_code_mirror(void *data, Evas_Object *obj, void *event_info); void test_code_log(void *data, Evas_Object *obj, void *event_info); void test_code_diff(void *data, Evas_Object *obj, void *event_info); @@ -333,6 +341,7 @@ void test_code_diff_inline(void *data, Evas_Object *obj, void *event_info); void test_efl_ui_text(void *data, Evas_Object *obj, void *event_info); void test_efl_ui_text_label(void *data, Evas_Object *obj, void *event_info); void test_efl_ui_text_async(void *data, Evas_Object *obj, void *event_info); +void test_ui_text_item_factory(void *data, Evas_Object *obj, void *event_info); void test_evas_mask(void *data, Edje_Object *obj, void *event_info); void test_gfx_filters(void *data, Evas_Object *obj, void *event_info); void test_evas_snapshot(void *data, Evas_Object *obj, void *event_info); @@ -359,6 +368,8 @@ void test_efl_anim_interpolator(void *data, Evas_Object *obj, void *event_info); void test_gesture_framework(void *data, Evas_Object *obj, void *event_info); +void test_ui_tab_pager(void *data, Evas_Object *obj, void *event_info); + static void _list_udpate(void); static Evas_Object *win, *tbx, *entry; // TODO: refactoring @@ -834,11 +845,14 @@ add_tests: ADD_TEST_EO(NULL, "Entries", "Efl.Ui.Text", test_efl_ui_text); ADD_TEST_EO(NULL, "Entries", "Efl.Ui.Text Label", test_efl_ui_text_label); ADD_TEST_EO(NULL, "Entries", "Efl.Ui.Text.Async", test_efl_ui_text_async); + ADD_TEST_EO(NULL, "Entries", "Ui.Text Item Factory", test_ui_text_item_factory); + ADD_TEST_EO(NULL, "Entries", "Efl.Ui.Tags", test_ui_tags); //------------------------------// + ADD_TEST(NULL, "Advanced Entries", "Code Entry Markup", test_code_welcome); + ADD_TEST(NULL, "Advanced Entries", "Code Editor", test_code_editor); ADD_TEST(NULL, "Advanced Entries", "Code Syntax", test_code_syntax); - ADD_TEST(NULL, "Advanced Entries", "Entry Markup", test_code_welcome); - ADD_TEST(NULL, "Advanced Entries", "Text Editor", test_code_editor); + ADD_TEST(NULL, "Advanced Entries", "Code Syntax (Tabbed)", test_code_syntax_tabbed); ADD_TEST(NULL, "Advanced Entries", "Mirrored Editor", test_code_mirror); ADD_TEST(NULL, "Advanced Entries", "Logger", test_code_log); ADD_TEST(NULL, "Advanced Entries", "Diff Comparison", test_code_diff); @@ -846,6 +860,7 @@ add_tests: //------------------------------// ADD_TEST(NULL, "Buttons", "Button", test_button); + ADD_TEST_EO(NULL, "Buttons", "Efl.Ui.Button", test_ui_button); //------------------------------// ADD_TEST(NULL, "Prefs", "Prefs", test_prefs); @@ -955,6 +970,7 @@ add_tests: ADD_TEST(NULL, "Lists - Genlist", "Genlist Show/Bring", test_genlist_show_bring); ADD_TEST(NULL, "Lists - Genlist", "Genlist Cache", test_genlist_cache); ADD_TEST(NULL, "Lists - Genlist", "Genlist Reusable Contents", test_genlist_reusable); + ADD_TEST(NULL, "Lists - Genlist", "Genlist Item Show", test_genlist_item_show); //------------------------------// @@ -1041,14 +1057,18 @@ add_tests: ADD_TEST(NULL, "Range Values", "Slider", test_slider); ADD_TEST(NULL, "Range Values", "Progressbar", test_progressbar); ADD_TEST(NULL, "Range Values", "Progressbar 2", test_progressbar2); + ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Progressbar", test_ui_progressbar); ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Nstate", test_nstate); - ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Slider_Interval", test_slider_interval); ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Slider", test_ui_slider); + ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Slider_Interval", test_slider_interval); //------------------------------// ADD_TEST(NULL, "Booleans", "Check", test_check); ADD_TEST(NULL, "Booleans", "Check Toggle", test_check_toggle); + //------------------------------// + ADD_TEST_EO(NULL, "Tab Pager", "Efl.Ui.Tab_Pager", test_ui_tab_pager); + //------------------------------// ADD_TEST(NULL, "Popups", "Ctxpopup", test_ctxpopup); ADD_TEST(NULL, "Popups", "Hover", test_hover); @@ -1077,6 +1097,8 @@ add_tests: ADD_TEST(NULL, "Times & Dates", "Datetime", test_datetime); ADD_TEST_EO(NULL, "Times & Dates", "Efl.Ui.Calendar", test_efl_ui_calendar); ADD_TEST_EO(NULL, "Times & Dates", "Efl.Ui.Clock", test_ui_clock); + ADD_TEST_EO(NULL, "Times & Dates", "Efl.Ui.Datepicker", test_ui_datepicker); + ADD_TEST_EO(NULL, "Times & Dates", "Efl.Ui.Timepicker", test_ui_timepicker); //------------------------------// ADD_TEST(NULL, "Text", "Label", test_label); @@ -1110,6 +1132,7 @@ add_tests: ADD_TEST(NULL, "Naviframe", "Naviframe 2", test_naviframe2); ADD_TEST(NULL, "Naviframe", "Naviframe 3", test_naviframe3); ADD_TEST(NULL, "Naviframe", "Naviframe: Complex", test_naviframe_complex); + ADD_TEST_EO(NULL, "Naviframe", "Efl.Ui.Stack", test_ui_stack); //------------------------------// ADD_TEST(NULL, "Geographic", "Map", test_map); @@ -1291,7 +1314,7 @@ efl_main(void *data EINA_UNUSED, /* if called with a single argument try to autorun a test with * the same name as the given param * ex: elementary_test "Box Vert 2" */ - if (eina_array_count(arge->argv) == 1) + if (eina_array_count(arge->argv) == 2) { if (!strcmp(eina_array_data_get(arge->argv, 0), "--help")) { @@ -1306,15 +1329,15 @@ efl_main(void *data EINA_UNUSED, } autorun = eina_array_data_get(arge->argv, 0); } - else if (eina_array_count(arge->argv) == 2) + else if (eina_array_count(arge->argv) == 3) { /* Just a workaround to make the shot module more * useful with elementary test. */ - if ((!strcmp(eina_array_data_get(arge->argv, 0), "--test-win-only")) || - (!strcmp(eina_array_data_get(arge->argv, 0), "-to"))) + if ((!strcmp(eina_array_data_get(arge->argv, 1), "--test-win-only")) || + (!strcmp(eina_array_data_get(arge->argv, 1), "-to"))) { test_win_only = EINA_TRUE; - autorun = eina_array_data_get(arge->argv, 1); + autorun = eina_array_data_get(arge->argv, 2); } } diff --git a/src/bin/elementary/test_access.c b/src/bin/elementary/test_access.c index 80b8ea36e6..c3154f695e 100644 --- a/src/bin/elementary/test_access.c +++ b/src/bin/elementary/test_access.c @@ -286,7 +286,9 @@ test_access2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i evas_object_show(ly2); /* access */ + edje_object_freeze(elm_layout_edje_get(ly2)); to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(ly2), "access"); + edje_object_thaw(elm_layout_edje_get(ly2)); ao = elm_access_object_register(to, ly2); elm_object_focus_custom_chain_append(ly2, ao, NULL); } @@ -371,22 +373,30 @@ test_access3(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i elm_object_part_content_set(ly, "center", btn); + edje_object_freeze(elm_layout_edje_get(ly)); to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(ly), "red"); + edje_object_thaw(elm_layout_edje_get(ly)); red_ao = elm_access_object_register(to, ly); elm_access_info_cb_set(red_ao, ELM_ACCESS_INFO, _access_info_cb, "red"); elm_access_highlight_next_set(btn, ELM_HIGHLIGHT_DIR_NEXT, red_ao); + edje_object_freeze(elm_layout_edje_get(ly)); to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(ly), "green"); + edje_object_thaw(elm_layout_edje_get(ly)); green_ao = elm_access_object_register(to, ly); elm_access_info_cb_set(green_ao, ELM_ACCESS_INFO, _access_info_cb, "green"); elm_access_highlight_next_set(red_ao, ELM_HIGHLIGHT_DIR_NEXT, green_ao); + edje_object_freeze(elm_layout_edje_get(ly)); to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(ly), "blue"); + edje_object_thaw(elm_layout_edje_get(ly)); blue_ao = elm_access_object_register(to, ly); elm_access_info_cb_set(blue_ao, ELM_ACCESS_INFO, _access_info_cb, "blue"); elm_access_highlight_next_set(green_ao, ELM_HIGHLIGHT_DIR_NEXT, blue_ao); + edje_object_freeze(elm_layout_edje_get(ly)); to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(ly), "black"); + edje_object_thaw(elm_layout_edje_get(ly)); black_ao = elm_access_object_register(to, ly); elm_access_info_cb_set(black_ao, ELM_ACCESS_INFO, _access_info_cb, "black"); elm_access_highlight_next_set(blue_ao, ELM_HIGHLIGHT_DIR_NEXT, black_ao); diff --git a/src/bin/elementary/test_bg.c b/src/bin/elementary/test_bg.c index d6e8bc3065..59d18821d0 100644 --- a/src/bin/elementary/test_bg.c +++ b/src/bin/elementary/test_bg.c @@ -317,7 +317,7 @@ _image_cb(void *data, const Efl_Event *ev) { efl_file_get(ev->object, &f, &k); o = efl_add(EFL_UI_IMAGE_CLASS, win, - efl_image_scale_type_set(efl_added, EFL_IMAGE_SCALE_TYPE_FIT_OUTSIDE), + efl_gfx_image_scale_type_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_FIT_OUTSIDE), efl_file_set(efl_added, f, k) ); efl_content_set(efl_part(win, "background"), o); @@ -330,7 +330,7 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event Evas_Object *win, *box, *cs; char buf[PATH_MAX]; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Bg EOAPI (Efl.Ui.Win)"), efl_ui_win_autodel_set(efl_added, EINA_TRUE), efl_ui_win_alpha_set(efl_added, 1)); @@ -367,7 +367,7 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _image_cb, win), efl_pack(box, efl_added)); - efl_gfx_size_set(win, EINA_SIZE2D(300, 200)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 200)); } static void @@ -375,7 +375,7 @@ _cb_radio_changed_scale_type(void *data, const Efl_Event *ev) { Evas_Object *o_bg = data; - efl_image_scale_type_set(o_bg, efl_ui_nstate_value_get(ev->object)); + efl_gfx_image_scale_type_set(o_bg, efl_ui_nstate_value_get(ev->object)); } static void @@ -403,7 +403,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e Evas_Object *rd, *rdg; char buf[PATH_MAX]; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Bg EOAPI (Efl.Ui.Bg)"), efl_ui_win_autodel_set(efl_added, EINA_TRUE), efl_ui_win_alpha_set(efl_added, EINA_FALSE)); @@ -432,14 +432,14 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_pack(box, efl_added)); rdg = rd = efl_add(EFL_UI_RADIO_CLASS, hbox, - efl_ui_radio_state_value_set(efl_added, EFL_IMAGE_SCALE_TYPE_FILL), + efl_ui_radio_state_value_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_FILL), efl_text_set(efl_added, "Fill"), efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, 0.0), efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED, _cb_radio_changed_scale_type, o_bg), efl_pack(hbox, efl_added)); rd = efl_add(EFL_UI_RADIO_CLASS, hbox, - efl_ui_radio_state_value_set(efl_added, EFL_IMAGE_SCALE_TYPE_FIT_INSIDE), + efl_ui_radio_state_value_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_FIT_INSIDE), efl_ui_radio_group_add(efl_added, rdg), efl_text_set(efl_added, "Fit Inside"), efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, 0.0), @@ -448,7 +448,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e rd = efl_add(EFL_UI_RADIO_CLASS, hbox, - efl_ui_radio_state_value_set(efl_added, EFL_IMAGE_SCALE_TYPE_FIT_OUTSIDE), + efl_ui_radio_state_value_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_FIT_OUTSIDE), efl_ui_radio_group_add(efl_added, rdg), efl_text_set(efl_added, "Fit Outside"), efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, 0.0), @@ -456,7 +456,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_pack(hbox, efl_added)); rd = efl_add(EFL_UI_RADIO_CLASS, hbox, - efl_ui_radio_state_value_set(efl_added, EFL_IMAGE_SCALE_TYPE_NONE), + efl_ui_radio_state_value_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_NONE), efl_ui_radio_group_add(efl_added, rdg), efl_text_set(efl_added, "None"), efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, 0.0), @@ -464,14 +464,14 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_pack(hbox, efl_added)); rd = efl_add(EFL_UI_RADIO_CLASS, hbox, - efl_ui_radio_state_value_set(efl_added, EFL_IMAGE_SCALE_TYPE_TILE), + efl_ui_radio_state_value_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_TILE), efl_ui_radio_group_add(efl_added, rdg), efl_text_set(efl_added, "Tile"), efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, 0.0), efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED, _cb_radio_changed_scale_type, o_bg), efl_pack(hbox, efl_added)); - efl_ui_nstate_value_set(rdg, EFL_IMAGE_SCALE_TYPE_FILL); + efl_ui_nstate_value_set(rdg, EFL_GFX_IMAGE_SCALE_TYPE_FILL); efl_add(EFL_UI_CHECK_CLASS, hbox, efl_text_set(efl_added, "Bg Color"), @@ -479,7 +479,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_CHANGED, _cb_check_changed_scale_type, o_bg), efl_pack(hbox, efl_added)); - efl_gfx_size_set(win, EINA_SIZE2D(300, 200)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 200)); } diff --git a/src/bin/elementary/test_box.c b/src/bin/elementary/test_box.c index 5439234056..f50dcb339f 100644 --- a/src/bin/elementary/test_box.c +++ b/src/bin/elementary/test_box.c @@ -889,7 +889,7 @@ test_box_stack(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Evas_Object *win, *bx, *o; char buf[PATH_MAX]; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl.Ui.Box_Stack"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -919,5 +919,5 @@ test_box_stack(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, efl_file_set(efl_added, buf, NULL)); efl_pack(bx, o); - efl_gfx_size_set(win, EINA_SIZE2D(300, 300)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 300)); } diff --git a/src/bin/elementary/test_calendar.c b/src/bin/elementary/test_calendar.c index 34064395ac..ba37407c0f 100644 --- a/src/bin/elementary/test_calendar.c +++ b/src/bin/elementary/test_calendar.c @@ -431,7 +431,7 @@ test_efl_ui_calendar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void current_date = time(NULL) + SEC_PER_YEAR; localtime_r(¤t_date, &max_date); - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl Ui Calendar"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -454,5 +454,5 @@ test_efl_ui_calendar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_ui_format_cb_set(efl_added, NULL, _cal_format_cb, NULL), efl_pack(box, efl_added)); - efl_gfx_size_set(win, EINA_SIZE2D(300, 300)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 300)); } diff --git a/src/bin/elementary/test_code.c b/src/bin/elementary/test_code.c index b6dad3ea2f..bb010ce5e6 100644 --- a/src/bin/elementary/test_code.c +++ b/src/bin/elementary/test_code.c @@ -155,6 +155,40 @@ _elm_code_test_syntax_setup(Evas_Object *parent) return widget; } +static Evas_Object * +_elm_code_test_syntax_tabbed_setup(Evas_Object *parent) +{ + Elm_Code *code; + Elm_Code_Widget *widget; + + code = elm_code_create(); + code->config.indent_style_efl = EINA_FALSE; + widget = efl_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(efl_added, code)); + elm_obj_code_widget_editable_set(widget, EINA_TRUE); + elm_obj_code_widget_syntax_enabled_set(widget, EINA_TRUE); + elm_obj_code_widget_code_get(widget)->file->mime = "text/x-csrc"; + elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE); + elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE); + elm_obj_code_widget_tab_inserts_spaces_set(widget, EINA_FALSE); + + _append_line(code->file, "#include "); + _append_line(code->file, "int main(int argc, char **argv)"); + _append_line(code->file, "{"); + _append_line(code->file, "\t// display a welcome greeting"); + _append_line(code->file, "\tif (argc > 0)"); + _append_line(code->file, "\t\tprintf(\"Hello, %s!\\n\", argv[0]);"); + _append_line(code->file, "\telse"); + _append_line(code->file, "\t\tprintf(\"Hello, World!\\n\");"); + _append_line(code->file, "\treturn 0;"); + _append_line(code->file, "}"); + + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(widget); + + return widget; +} + static Evas_Object * _elm_code_test_mirror_setup(Elm_Code *code, char *font_name, Evas_Object *parent) { @@ -262,6 +296,22 @@ test_code_syntax(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve evas_object_show(win); } +void +test_code_syntax_tabbed(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *win, *screen; + + win = _test_code_win_create("code-syntax-tabbed", "Code Syntax (Tabbed)"); + screen = elm_box_add(win); + evas_object_size_hint_weight_set(screen, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(screen, _elm_code_test_syntax_tabbed_setup(screen)); + elm_win_resize_object_add(win, screen); + evas_object_show(screen); + + evas_object_show(win); +} + + void test_code_log(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { diff --git a/src/bin/elementary/test_ctxpopup.c b/src/bin/elementary/test_ctxpopup.c index b91cd85121..9293647d28 100644 --- a/src/bin/elementary/test_ctxpopup.c +++ b/src/bin/elementary/test_ctxpopup.c @@ -56,10 +56,10 @@ _btn_remove_cb(void *data EINA_UNUSED, Evas_Object *obj, static void _ctxpopup_item_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info) { - printf("Item selected status: %d\n", efl_ui_item_selected_get(event_info)); + printf("Item selected status: %d\n", elm_ctxpopup_item_selected_get(event_info)); printf("ctxpopup item selected: %s\n", - elm_object_item_text_get(efl_ui_menu_selected_item_get(obj))); + elm_object_item_text_get(elm_ctxpopup_selected_item_get(obj))); elm_ctxpopup_dismiss(obj); } @@ -105,7 +105,7 @@ _list_item_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UN _ctxpopup_item_new(ctxpopup, "Go to home folder", "home"); _ctxpopup_item_new(ctxpopup, "Save file", "file"); it = _ctxpopup_item_new(ctxpopup, "Delete file", "delete"); - efl_ui_item_selected_set(it, EINA_TRUE); + elm_ctxpopup_item_selected_set(it, EINA_TRUE); it = _ctxpopup_item_new(ctxpopup, "Navigate to folder", "folder"); elm_object_item_disabled_set(it, EINA_TRUE); _ctxpopup_item_new(ctxpopup, "Edit entry", "edit"); @@ -469,6 +469,31 @@ _list_item_cb10(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_ _print_current_dir(ctxpopup); } +static void +_list_item_cb11(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + Evas_Object *ctxpopup; + Evas_Coord x,y; + char label[16]; + int i = 0; + + if (list_mouse_down > 0) return; + + ctxpopup = elm_ctxpopup_add(obj); + evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed, NULL); + evas_object_smart_callback_add(ctxpopup, "geometry,update", _geometry_update, NULL); + + while (i++ < 100) + { + snprintf(label, sizeof(label), "Item %d", i); + _ctxpopup_item_new(ctxpopup, label, "clock"); + } + + evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y); + evas_object_move(ctxpopup, x, y); + evas_object_show(ctxpopup); +} + static void _list_clicked(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) { @@ -532,6 +557,8 @@ test_ctxpopup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ _list_item_cb9, NULL); elm_list_item_append(list, "Ctxpopup with user content (enable to remove)", NULL, NULL, _list_item_cb10, NULL); + elm_list_item_append(list, "Ctxpopup with more items", NULL, NULL, + _list_item_cb11, NULL); evas_object_show(list); elm_list_go(list); diff --git a/src/bin/elementary/test_datetime.c b/src/bin/elementary/test_datetime.c index 6bc0f8c583..719275baca 100644 --- a/src/bin/elementary/test_datetime.c +++ b/src/bin/elementary/test_datetime.c @@ -34,7 +34,6 @@ _bt_clicked(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUS efl_ui_clock_pause_set(dt1, EINA_TRUE); elm_datetime_value_set(dt1, &new_time); elm_object_disabled_set(dt1, EINA_TRUE); - elm_object_disabled_set(obj, EINA_TRUE); evas_object_del(dt2); evas_object_del(dt3); diff --git a/src/bin/elementary/test_dnd.c b/src/bin/elementary/test_dnd.c index 3b44c2bd40..93bed2a397 100644 --- a/src/bin/elementary/test_dnd.c +++ b/src/bin/elementary/test_dnd.c @@ -204,11 +204,15 @@ _grid_item_getcb(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int static inline char * _strndup(const char *str, size_t len) { - size_t slen = strlen(str); + const char *p; char *ret; + size_t slen; - if (slen > len) slen = len; - ret = malloc (slen + 1); + for (slen = 0, p = str; + (slen < len) && (*p); + p++, slen++); + + ret = malloc(slen + 1); if (!ret) return NULL; if (slen > 0) memcpy(ret, str, slen); @@ -1216,10 +1220,12 @@ _label_drop_cb(void *data EINA_UNUSED, Evas_Object *obj, Elm_Selection_Data *ev) static Eina_Bool _image_drop_cb(void *data EINA_UNUSED, Evas_Object *obj, Elm_Selection_Data *ev) { - const char *f = ev->data; + char *f = (char*)eina_memdup(ev->data, ev->len, 1); + printf("%s: obj: %s %p drop data: %s\n", __func__, evas_object_type_get(obj), obj, f); elm_image_file_set(obj, f, NULL); + free(f); return EINA_TRUE; } diff --git a/src/bin/elementary/test_efl_anim_alpha.c b/src/bin/elementary/test_efl_anim_alpha.c index e225ae3fbf..0a42b920eb 100644 --- a/src/bin/elementary/test_efl_anim_alpha.c +++ b/src/bin/elementary/test_efl_anim_alpha.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *show_anim; - Efl_Animation *hide_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *show_anim; + Efl_Canvas_Animation *hide_anim; + Efl_Canvas_Animation_Player *anim_obj; Eina_Bool is_btn_visible; } App_Data; @@ -19,20 +19,16 @@ _anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) } static void -_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) +_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { - App_Data *ad = data; - printf("Animation has been ended!\n"); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -41,35 +37,23 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_visible = !(ad->is_btn_visible); if (ad->is_btn_visible) { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->show_anim); - elm_object_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->show_anim); + efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); } else { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->hide_anim); - elm_object_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim); + efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); } - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -99,23 +83,29 @@ test_efl_anim_alpha(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * evas_object_show(btn); //Show Animation - Efl_Animation *show_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); efl_animation_duration_set(show_anim, 1.0); - efl_animation_target_set(show_anim, btn); efl_animation_final_state_keep_set(show_anim, EINA_TRUE); //Hide Animation - Efl_Animation *hide_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); efl_animation_duration_set(hide_anim, 1.0); - efl_animation_target_set(hide_anim, btn); efl_animation_final_state_keep_set(hide_anim, EINA_TRUE); //Initialize App Data ad->show_anim = show_anim; ad->hide_anim = hide_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); ad->is_btn_visible = EINA_TRUE; //Button to start animation diff --git a/src/bin/elementary/test_efl_anim_event_anim.c b/src/bin/elementary/test_efl_anim_event_anim.c index f68ee8ccac..b4c351888c 100644 --- a/src/bin/elementary/test_efl_anim_event_anim.c +++ b/src/bin/elementary/test_efl_anim_event_anim.c @@ -5,7 +5,7 @@ typedef struct _App_Data { - Efl_Animation_Object *target; + Efl_Canvas_Animation_Player *target; Eina_Bool is_btn_visible; } App_Data; @@ -57,21 +57,21 @@ test_efl_anim_event_anim(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, v evas_object_move(btn, 100, 50); //Show Animation - Efl_Animation *show_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); efl_animation_duration_set(show_anim, 1.0); - efl_animation_target_set(show_anim, btn); - efl_canvas_object_event_animation_set(btn, EFL_GFX_EVENT_SHOW, show_anim); + efl_animation_final_state_keep_set(show_anim, EINA_TRUE); + efl_canvas_object_event_animation_set(btn, EFL_GFX_ENTITY_EVENT_SHOW, show_anim); //Show button after setting event animation to show animation for show event evas_object_show(btn); //Hide Animation - Efl_Animation *hide_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); efl_animation_duration_set(hide_anim, 1.0); - efl_animation_target_set(hide_anim, btn); - efl_canvas_object_event_animation_set(btn, EFL_GFX_EVENT_HIDE, hide_anim); + efl_animation_final_state_keep_set(hide_anim, EINA_TRUE); + efl_canvas_object_event_animation_set(btn, EFL_GFX_ENTITY_EVENT_HIDE, hide_anim); //Initialize App Data ad->target = btn; diff --git a/src/bin/elementary/test_efl_anim_group_parallel.c b/src/bin/elementary/test_efl_anim_group_parallel.c index a2182bf144..b7128883d0 100644 --- a/src/bin/elementary/test_efl_anim_group_parallel.c +++ b/src/bin/elementary/test_efl_anim_group_parallel.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *parallel_show_anim; - Efl_Animation *parallel_hide_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *parallel_show_anim; + Efl_Canvas_Animation *parallel_hide_anim; + Efl_Canvas_Animation_Player *anim_obj; Eina_Bool is_btn_visible; } App_Data; @@ -19,20 +19,17 @@ _anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) } static void -_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) +_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { - App_Data *ad = data; - printf("Animation has been ended!\n"); - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -41,35 +38,23 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_visible = !(ad->is_btn_visible); if (ad->is_btn_visible) { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->parallel_show_anim); - elm_object_text_set(obj, "Start Parallel Group Animation to hide button"); + efl_animation_player_animation_set(ad->anim_obj, ad->parallel_show_anim); + efl_text_set(obj, "Start Parallel Group Animation to hide button"); } else { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->parallel_hide_anim); - elm_object_text_set(obj, "Start Parallel Group Animation to show button"); + efl_animation_player_animation_set(ad->anim_obj, ad->parallel_hide_anim); + efl_text_set(obj, "Start Parallel Group Animation to show button"); } - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -100,21 +85,20 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE //Show Animation - Efl_Animation *show_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); //Rotate from 45 to 0 degrees Animation - Efl_Animation *ccw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); //Scale Animation to zoom out - Efl_Animation *scale_half_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); //Show Parallel Group Animation - Efl_Animation *parallel_show_anim = efl_add(EFL_ANIMATION_GROUP_PARALLEL_CLASS, NULL); + Efl_Canvas_Animation *parallel_show_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win); efl_animation_duration_set(parallel_show_anim, 1.0); - efl_animation_target_set(parallel_show_anim, btn); efl_animation_final_state_keep_set(parallel_show_anim, EINA_TRUE); //Add animations to group animation @@ -124,21 +108,20 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE //Hide Animation - Efl_Animation *hide_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); //Rotate from 0 to 45 degrees Animation - Efl_Animation *cw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); //Scale Animation to zoom in - Efl_Animation *scale_double_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); //Hide Parallel Group Animation - Efl_Animation *parallel_hide_anim = efl_add(EFL_ANIMATION_GROUP_PARALLEL_CLASS, NULL); + Efl_Canvas_Animation *parallel_hide_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win); efl_animation_duration_set(parallel_hide_anim, 1.0); - efl_animation_target_set(parallel_hide_anim, btn); efl_animation_final_state_keep_set(parallel_hide_anim, EINA_TRUE); //Add animations to group animation @@ -150,7 +133,16 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE //Initialize App Data ad->parallel_show_anim = parallel_show_anim; ad->parallel_hide_anim = parallel_hide_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_visible = EINA_TRUE; //Button to start animation diff --git a/src/bin/elementary/test_efl_anim_group_sequential.c b/src/bin/elementary/test_efl_anim_group_sequential.c index 219cd6df29..655c37c571 100644 --- a/src/bin/elementary/test_efl_anim_group_sequential.c +++ b/src/bin/elementary/test_efl_anim_group_sequential.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *sequential_show_anim; - Efl_Animation *sequential_hide_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *sequential_show_anim; + Efl_Canvas_Animation *sequential_hide_anim; + Efl_Canvas_Animation_Player *anim_obj; Eina_Bool is_btn_visible; } App_Data; @@ -19,20 +19,16 @@ _anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) } static void -_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) +_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { - App_Data *ad = data; - printf("Animation has been ended!\n"); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -41,35 +37,23 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_visible = !(ad->is_btn_visible); if (ad->is_btn_visible) { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->sequential_show_anim); - elm_object_text_set(obj, "Start Sequential Group Animation to hide button"); + efl_animation_player_animation_set(ad->anim_obj, ad->sequential_show_anim); + efl_text_set(obj, "Start Sequential Group Animation to hide button"); } else { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->sequential_hide_anim); - elm_object_text_set(obj, "Start Sequential Group Animation to show button"); + efl_animation_player_animation_set(ad->anim_obj, ad->sequential_hide_anim); + efl_text_set(obj, "Start Sequential Group Animation to show button"); } - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -101,21 +85,20 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU /* Animations to hide button */ //Rotate from 0 to 45 degrees Animation - Efl_Animation *cw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); //Scale Animation to zoom in - Efl_Animation *scale_double_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); //Hide Animation - Efl_Animation *hide_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); //Hide Sequential Group Animation - Efl_Animation *sequential_hide_anim = efl_add(EFL_ANIMATION_GROUP_SEQUENTIAL_CLASS, NULL); + Efl_Canvas_Animation *sequential_hide_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_SEQUENTIAL_CLASS, win); efl_animation_duration_set(sequential_hide_anim, 1.0); - efl_animation_target_set(sequential_hide_anim, btn); efl_animation_final_state_keep_set(sequential_hide_anim, EINA_TRUE); //Add animations to group animation @@ -124,51 +107,29 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU efl_animation_group_animation_add(sequential_hide_anim, hide_anim); - /* Animations of initial state to show button */ - //Rotate from 0 to 45 degrees Animation - Efl_Animation *cw_45_degrees_anim2 = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); - efl_animation_rotate_set(cw_45_degrees_anim2, 0.0, 45.0, NULL, 0.5, 0.5); - - //Scale Animation to zoom in - Efl_Animation *scale_double_anim2 = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); - efl_animation_scale_set(scale_double_anim2, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); - - //Hide Parallel Group Animation - Efl_Animation *parallel_hide_anim = efl_add(EFL_ANIMATION_GROUP_PARALLEL_CLASS, NULL); - efl_animation_duration_set(parallel_hide_anim, 0.0); - efl_animation_target_set(parallel_hide_anim, btn); - efl_animation_final_state_keep_set(parallel_hide_anim, EINA_TRUE); - - //Add animations to group animation - efl_animation_group_animation_add(parallel_hide_anim, cw_45_degrees_anim2); - efl_animation_group_animation_add(parallel_hide_anim, scale_double_anim2); - - /* Animations to show button */ //Show Animation - Efl_Animation *show_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); efl_animation_duration_set(show_anim, 1.0); //Scale Animation to zoom out - Efl_Animation *scale_half_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); - efl_animation_scale_set(scale_half_anim, 1.0, 1.0, 0.5, 0.5, NULL, 0.5, 0.5); + Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); + efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); efl_animation_duration_set(scale_half_anim, 1.0); //Rotate from 45 to 0 degrees Animation - Efl_Animation *ccw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); - efl_animation_rotate_set(ccw_45_degrees_anim, 0.0, -45.0, NULL, 0.5, 0.5); + Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); + efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); efl_animation_duration_set(ccw_45_degrees_anim, 1.0); //Show Sequential Group Animation - Efl_Animation *sequential_show_anim = efl_add(EFL_ANIMATION_GROUP_SEQUENTIAL_CLASS, NULL); - efl_animation_target_set(sequential_show_anim, btn); + Efl_Canvas_Animation *sequential_show_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_SEQUENTIAL_CLASS, win); efl_animation_final_state_keep_set(sequential_show_anim, EINA_TRUE); //efl_animation_duration_set() is called for each animation not to set the same duration //Add animations to group animation //First, parallel_hide_anim is added with duration 0 to set the initial state - efl_animation_group_animation_add(sequential_show_anim, parallel_hide_anim); efl_animation_group_animation_add(sequential_show_anim, show_anim); efl_animation_group_animation_add(sequential_show_anim, scale_half_anim); efl_animation_group_animation_add(sequential_show_anim, ccw_45_degrees_anim); @@ -177,7 +138,16 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU //Initialize App Data ad->sequential_show_anim = sequential_show_anim; ad->sequential_hide_anim = sequential_hide_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_visible = EINA_TRUE; //Button to start animation diff --git a/src/bin/elementary/test_efl_anim_interpolator.c b/src/bin/elementary/test_efl_anim_interpolator.c index 732d217e43..66e9004fb7 100644 --- a/src/bin/elementary/test_efl_anim_interpolator.c +++ b/src/bin/elementary/test_efl_anim_interpolator.c @@ -12,8 +12,8 @@ typedef struct _App_Data { - Efl_Animation *anim[INTERP_NUM]; - Efl_Animation_Object *anim_obj[INTERP_NUM]; + Efl_Canvas_Animation *anim[INTERP_NUM]; + Efl_Canvas_Animation_Player *anim_obj[INTERP_NUM]; Evas_Object *btn[INTERP_NUM]; Evas_Object *start_all_btn; @@ -22,42 +22,42 @@ typedef struct _App_Data } App_Data; static Efl_Interpolator * -_interpolator_create(int index) +_interpolator_create(int index, Evas_Object *win) { Efl_Interpolator *interp = NULL; if (index == 0) { - interp = efl_add(EFL_INTERPOLATOR_LINEAR_CLASS, NULL); + interp = efl_add(EFL_INTERPOLATOR_LINEAR_CLASS, win); } else if (index == 1) { - interp = efl_add(EFL_INTERPOLATOR_SINUSOIDAL_CLASS, NULL); + interp = efl_add(EFL_INTERPOLATOR_SINUSOIDAL_CLASS, win); efl_interpolator_sinusoidal_factor_set(interp, 1.0); } else if (index == 2) { - interp = efl_add(EFL_INTERPOLATOR_DECELERATE_CLASS, NULL); + interp = efl_add(EFL_INTERPOLATOR_DECELERATE_CLASS, win); efl_interpolator_decelerate_factor_set(interp, 1.0); } else if (index == 3) { - interp = efl_add(EFL_INTERPOLATOR_ACCELERATE_CLASS, NULL); + interp = efl_add(EFL_INTERPOLATOR_ACCELERATE_CLASS, win); efl_interpolator_accelerate_factor_set(interp, 1.0); } else if (index == 4) { - interp = efl_add(EFL_INTERPOLATOR_DIVISOR_CLASS, NULL); + interp = efl_add(EFL_INTERPOLATOR_DIVISOR_CLASS, win); efl_interpolator_divisor_factors_set(interp, 1.0, 1.0); } else if (index == 5) { - interp = efl_add(EFL_INTERPOLATOR_BOUNCE_CLASS, NULL); + interp = efl_add(EFL_INTERPOLATOR_BOUNCE_CLASS, win); efl_interpolator_bounce_factors_set(interp, 1.0, 1.0); } else if (index == 6) { - interp = efl_add(EFL_INTERPOLATOR_SPRING_CLASS, NULL); + interp = efl_add(EFL_INTERPOLATOR_SPRING_CLASS, win); efl_interpolator_spring_factors_set(interp, 1.0, 1.0); } @@ -88,7 +88,6 @@ _anim_ended_cb(void *data, const Efl_Event *event) { if (ad->anim_obj[i] == event->object) { - ad->anim_obj[i] = NULL; elm_object_disabled_set(ad->btn[i], EINA_FALSE); break; } @@ -101,8 +100,8 @@ _anim_ended_cb(void *data, const Efl_Event *event) static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -113,21 +112,8 @@ _anim_start(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) int index = (uintptr_t)evas_object_data_get(obj, "index"); - //Create Animation Object from Animation - Efl_Animation_Object *anim_obj = efl_animation_object_create(ad->anim[index]); - ad->anim_obj[index] = anim_obj; - - //Register callback called when animation starts - efl_event_callback_add(anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, ad); - - //Register callback called when animation ends - efl_event_callback_add(anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(anim_obj); + efl_player_start(ad->anim_obj[index]); elm_object_disabled_set(obj, EINA_TRUE); elm_object_disabled_set(ad->start_all_btn, EINA_TRUE); @@ -141,22 +127,8 @@ _anim_start_all(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) int i; for (i = 0; i < INTERP_NUM; i++) { - //Create Animation Object from Animation - Efl_Animation_Object *anim_obj = efl_animation_object_create(ad->anim[i]); - ad->anim_obj[i] = anim_obj; - - //Register callback called when animation starts - efl_event_callback_add(anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, ad); - - //Register callback called when animation ends - efl_event_callback_add(anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(anim_obj); - + efl_player_start(ad->anim_obj[i]); elm_object_disabled_set(ad->btn[i], EINA_TRUE); } @@ -212,14 +184,29 @@ test_efl_anim_interpolator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, evas_object_smart_callback_add(btn, "clicked", _anim_start, ad); ad->btn[i] = btn; - Efl_Animation *anim = efl_add(EFL_ANIMATION_TRANSLATE_CLASS, NULL); + Efl_Canvas_Animation *anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); efl_animation_translate_set(anim, 0, 0, (WIN_W - BTN_W), 0); efl_animation_duration_set(anim, 2.0); - efl_animation_target_set(anim, btn); + efl_animation_final_state_keep_set(anim, EINA_FALSE); - Efl_Interpolator *interp = _interpolator_create(i); + Efl_Interpolator *interp = _interpolator_create(i, win); efl_animation_interpolator_set(anim, interp); ad->anim[i] = anim; + + //Create Animation Object from Animation + Efl_Canvas_Animation_Player *anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_animation_set(efl_added, anim), + efl_animation_player_target_set(efl_added, btn)); + ad->anim_obj[i] = anim_obj; + + //Register callback called when animation starts + efl_event_callback_add(anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, ad); + + //Register callback called when animation ends + efl_event_callback_add(anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + + //Register callback called while animation is executed + efl_event_callback_add(anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); } ad->running_anim_cnt = 0; diff --git a/src/bin/elementary/test_efl_anim_pause.c b/src/bin/elementary/test_efl_anim_pause.c index 9ca97430d4..c73b7bcf6c 100644 --- a/src/bin/elementary/test_efl_anim_pause.c +++ b/src/bin/elementary/test_efl_anim_pause.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *show_anim; - Efl_Animation *hide_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *show_anim; + Efl_Canvas_Animation *hide_anim; + Efl_Canvas_Animation_Player *anim_obj; Evas_Object *pause_btn; @@ -33,15 +33,13 @@ _anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) printf("Animation has been ended!\n"); elm_object_disabled_set(ad->pause_btn, EINA_TRUE); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -54,8 +52,6 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED { ad->is_anim_paused = EINA_FALSE; elm_object_text_set(ad->pause_btn, "Pause Animation"); - - efl_animation_object_cancel(ad->anim_obj); } ad->is_btn_visible = !(ad->is_btn_visible); @@ -63,27 +59,17 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED if (ad->is_btn_visible) { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->show_anim); - elm_object_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->show_anim); + efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); } else { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->hide_anim); - elm_object_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim); + efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); } - - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, ad); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -96,13 +82,13 @@ _pause_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED if (ad->is_anim_paused) { //Pause animation - efl_animation_object_pause(ad->anim_obj); + efl_player_play_set(ad->anim_obj, EINA_FALSE); elm_object_text_set(obj, "Resume Animation"); } else { //Resume animation - efl_animation_object_resume(ad->anim_obj); + efl_player_play_set(ad->anim_obj, EINA_TRUE); elm_object_text_set(obj, "Pause Animation"); } } @@ -134,17 +120,15 @@ test_efl_anim_pause(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * evas_object_show(btn); //Show Animation - Efl_Animation *show_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); efl_animation_duration_set(show_anim, 2.0); - efl_animation_target_set(show_anim, btn); efl_animation_final_state_keep_set(show_anim, EINA_TRUE); //Hide Animation - Efl_Animation *hide_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); efl_animation_duration_set(hide_anim, 2.0); - efl_animation_target_set(hide_anim, btn); efl_animation_final_state_keep_set(hide_anim, EINA_TRUE); @@ -172,7 +156,16 @@ test_efl_anim_pause(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * //Initialize App Data ad->show_anim = show_anim; ad->hide_anim = hide_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, ad); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->pause_btn = pause_btn; ad->is_btn_visible = EINA_TRUE; ad->is_anim_paused = EINA_FALSE; diff --git a/src/bin/elementary/test_efl_anim_repeat.c b/src/bin/elementary/test_efl_anim_repeat.c index b5f7ac3ce1..50df2035c8 100644 --- a/src/bin/elementary/test_efl_anim_repeat.c +++ b/src/bin/elementary/test_efl_anim_repeat.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *show_anim; - Efl_Animation *hide_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *show_anim; + Efl_Canvas_Animation *hide_anim; + Efl_Canvas_Animation_Player *anim_obj; Evas_Object *start_btn; Evas_Object *repeat_count_spin; @@ -16,15 +16,15 @@ typedef struct _App_Data Eina_Bool is_btn_visible; } App_Data; -Efl_Animation_Repeat_Mode +Efl_Canvas_Animation_Repeat_Mode _anim_repeat_mode_get(Evas_Object *spinner) { int value = elm_spinner_value_get(spinner); if (value == 0) - return EFL_ANIMATION_REPEAT_MODE_RESTART; + return EFL_CANVAS_ANIMATION_REPEAT_MODE_RESTART; else - return EFL_ANIMATION_REPEAT_MODE_REVERSE; + return EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE; } static void @@ -40,8 +40,8 @@ _anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) printf("Animation has been ended!\n"); - Efl_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin); - if (repeat_mode == EFL_ANIMATION_REPEAT_MODE_REVERSE) + Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin); + if (repeat_mode == EFL_CANVAS_ANIMATION_REPEAT_MODE_REVERSE) { int repeat_count = elm_spinner_value_get(ad->repeat_count_spin); if (repeat_count % 2 == 1) @@ -57,15 +57,13 @@ _anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) elm_object_disabled_set(ad->repeat_count_spin, EINA_FALSE); elm_object_disabled_set(ad->repeat_mode_spin, EINA_FALSE); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -74,15 +72,12 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_visible = !(ad->is_btn_visible); int repeat_count = elm_spinner_value_get(ad->repeat_count_spin); elm_object_disabled_set(ad->repeat_count_spin, EINA_TRUE); - Efl_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin); + Efl_Canvas_Animation_Repeat_Mode repeat_mode = _anim_repeat_mode_get(ad->repeat_mode_spin); elm_object_disabled_set(ad->repeat_mode_spin, EINA_TRUE); if (ad->is_btn_visible) @@ -94,8 +89,8 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED efl_animation_repeat_mode_set(ad->show_anim, repeat_mode); //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->show_anim); - elm_object_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->show_anim); + efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); } else { @@ -106,21 +101,12 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED efl_animation_repeat_mode_set(ad->hide_anim, repeat_mode); //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->hide_anim); - elm_object_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim); + efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); } - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -150,17 +136,15 @@ test_efl_anim_repeat(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void evas_object_show(btn); //Show Animation - Efl_Animation *show_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); efl_animation_duration_set(show_anim, 1.0); - efl_animation_target_set(show_anim, btn); efl_animation_final_state_keep_set(show_anim, EINA_TRUE); //Hide Animation - Efl_Animation *hide_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); efl_animation_duration_set(hide_anim, 1.0); - efl_animation_target_set(hide_anim, btn); efl_animation_final_state_keep_set(hide_anim, EINA_TRUE); @@ -199,7 +183,15 @@ test_efl_anim_repeat(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void //Initialize App Data ad->show_anim = show_anim; ad->hide_anim = hide_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->start_btn = start_btn; ad->repeat_count_spin = repeat_count_spin; ad->repeat_mode_spin = repeat_mode_spin; diff --git a/src/bin/elementary/test_efl_anim_rotate.c b/src/bin/elementary/test_efl_anim_rotate.c index 7fda359375..454ca0f262 100644 --- a/src/bin/elementary/test_efl_anim_rotate.c +++ b/src/bin/elementary/test_efl_anim_rotate.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *cw_45_degrees_anim; - Efl_Animation *ccw_45_degrees_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *cw_45_degrees_anim; + Efl_Canvas_Animation *ccw_45_degrees_anim; + Efl_Canvas_Animation_Player *anim_obj; Eina_Bool is_btn_rotated; } App_Data; @@ -19,20 +19,16 @@ _anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) } static void -_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) +_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { - App_Data *ad = data; - printf("Animation has been ended!\n"); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -41,35 +37,23 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_rotated = !(ad->is_btn_rotated); if (ad->is_btn_rotated) { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->cw_45_degrees_anim); - elm_object_text_set(obj, "Start Rotate Animation from 45 to 0 degrees"); + efl_animation_player_animation_set(ad->anim_obj, ad->cw_45_degrees_anim); + efl_text_set(obj, "Start Rotate Animation from 45 to 0 degrees"); } else { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->ccw_45_degrees_anim); - elm_object_text_set(obj, "Start Rotate Animation from 0 to 45 degrees"); + efl_animation_player_animation_set(ad->anim_obj, ad->ccw_45_degrees_anim); + efl_text_set(obj, "Start Rotate Animation from 0 to 45 degrees"); } - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -99,23 +83,30 @@ test_efl_anim_rotate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void evas_object_show(btn); //Rotate from 0 to 45 degrees Animation - Efl_Animation *cw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); - efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); + Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); + efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0,NULL, 0.5, 0.5); efl_animation_duration_set(cw_45_degrees_anim, 1.0); - efl_animation_target_set(cw_45_degrees_anim, btn); efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); //Rotate from 45 to 0 degrees Animation - Efl_Animation *ccw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); efl_animation_duration_set(ccw_45_degrees_anim, 1.0); - efl_animation_target_set(ccw_45_degrees_anim, btn); efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); //Initialize App Data ad->cw_45_degrees_anim = cw_45_degrees_anim; ad->ccw_45_degrees_anim = ccw_45_degrees_anim; - ad->anim_obj = NULL; + + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_rotated = EINA_FALSE; //Button to start animation @@ -159,23 +150,31 @@ test_efl_anim_rotate_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS evas_object_show(pivot); //Rotate from 0 to 45 degrees Animation - Efl_Animation *cw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, pivot, 0.5, 0.5); efl_animation_duration_set(cw_45_degrees_anim, 1.0); - efl_animation_target_set(cw_45_degrees_anim, btn); efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); //Rotate from 45 to 0 degrees Animation - Efl_Animation *ccw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, pivot, 0.5, 0.5); efl_animation_duration_set(ccw_45_degrees_anim, 1.0); - efl_animation_target_set(ccw_45_degrees_anim, btn); efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); //Initialize App Data ad->cw_45_degrees_anim = cw_45_degrees_anim; ad->ccw_45_degrees_anim = ccw_45_degrees_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL); + + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); ad->is_btn_rotated = EINA_FALSE; //Button to start animation @@ -219,23 +218,30 @@ test_efl_anim_rotate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS evas_object_show(abs_center); //Rotate from 0 to 45 degrees Animation - Efl_Animation *cw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_absolute_set(cw_45_degrees_anim, 0.0, 45.0, 0, 0); efl_animation_duration_set(cw_45_degrees_anim, 1.0); - efl_animation_target_set(cw_45_degrees_anim, btn); efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); //Rotate from 45 to 0 degrees Animation - Efl_Animation *ccw_45_degrees_anim = efl_add(EFL_ANIMATION_ROTATE_CLASS, NULL); + Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); efl_animation_rotate_absolute_set(ccw_45_degrees_anim, 45.0, 0.0, 0, 0); efl_animation_duration_set(ccw_45_degrees_anim, 1.0); - efl_animation_target_set(ccw_45_degrees_anim, btn); efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); //Initialize App Data ad->cw_45_degrees_anim = cw_45_degrees_anim; ad->ccw_45_degrees_anim = ccw_45_degrees_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_rotated = EINA_FALSE; //Button to start animation diff --git a/src/bin/elementary/test_efl_anim_scale.c b/src/bin/elementary/test_efl_anim_scale.c index 02ba39c922..bd380bd145 100644 --- a/src/bin/elementary/test_efl_anim_scale.c +++ b/src/bin/elementary/test_efl_anim_scale.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *scale_double_anim; - Efl_Animation *scale_half_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *scale_double_anim; + Efl_Canvas_Animation *scale_half_anim; + Efl_Canvas_Animation_Player *anim_obj; Eina_Bool is_btn_scaled; } App_Data; @@ -19,20 +19,16 @@ _anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) } static void -_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) +_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { - App_Data *ad = data; - printf("Animation has been ended!\n"); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -41,35 +37,23 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_scaled = !(ad->is_btn_scaled); if (ad->is_btn_scaled) { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->scale_double_anim); - elm_object_text_set(obj, "Start Scale Animation to zoom out"); + efl_animation_player_animation_set(ad->anim_obj, ad->scale_double_anim); + efl_text_set(obj, "Start Scale Animation to zoom out"); } else { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->scale_half_anim); - elm_object_text_set(obj, "Start Scale Animation to zoom in"); + efl_animation_player_animation_set(ad->anim_obj, ad->scale_half_anim); + efl_text_set(obj, "Start Scale Animation to zoom in"); } - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -99,23 +83,32 @@ test_efl_anim_scale(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * evas_object_show(btn); //Scale Animation to zoom in - Efl_Animation *scale_double_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); efl_animation_duration_set(scale_double_anim, 1.0); - efl_animation_target_set(scale_double_anim, btn); efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); //Scale Animation to zoom out - Efl_Animation *scale_half_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); efl_animation_duration_set(scale_half_anim, 1.0); - efl_animation_target_set(scale_half_anim, btn); efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); //Initialize App Data ad->scale_double_anim = scale_double_anim; ad->scale_half_anim = scale_half_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_scaled = EINA_FALSE; //Button to start animation @@ -159,23 +152,29 @@ test_efl_anim_scale_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE evas_object_show(pivot); //Scale Animation to zoom in - Efl_Animation *scale_double_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, pivot, 0.5, 0.5); efl_animation_duration_set(scale_double_anim, 1.0); - efl_animation_target_set(scale_double_anim, btn); efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); //Scale Animation to zoom out - Efl_Animation *scale_half_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, pivot, 0.5, 0.5); efl_animation_duration_set(scale_half_anim, 1.0); - efl_animation_target_set(scale_half_anim, btn); efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); //Initialize App Data ad->scale_double_anim = scale_double_anim; ad->scale_half_anim = scale_half_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_scaled = EINA_FALSE; //Button to start animation @@ -219,23 +218,29 @@ test_efl_anim_scale_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE evas_object_show(abs_center); //Scale Animation to zoom in - Efl_Animation *scale_double_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_absolute_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, 0, 0); efl_animation_duration_set(scale_double_anim, 1.0); - efl_animation_target_set(scale_double_anim, btn); efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); //Scale Animation to zoom out - Efl_Animation *scale_half_anim = efl_add(EFL_ANIMATION_SCALE_CLASS, NULL); + Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); efl_animation_scale_absolute_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, 0, 0); efl_animation_duration_set(scale_half_anim, 1.0); - efl_animation_target_set(scale_half_anim, btn); efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); //Initialize App Data ad->scale_double_anim = scale_double_anim; ad->scale_half_anim = scale_half_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_scaled = EINA_FALSE; //Button to start animation diff --git a/src/bin/elementary/test_efl_anim_start_delay.c b/src/bin/elementary/test_efl_anim_start_delay.c index 63cab0f18e..c94b515b62 100644 --- a/src/bin/elementary/test_efl_anim_start_delay.c +++ b/src/bin/elementary/test_efl_anim_start_delay.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *show_anim; - Efl_Animation *hide_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *show_anim; + Efl_Canvas_Animation *hide_anim; + Efl_Canvas_Animation_Player *anim_obj; Evas_Object *start_delay_spin; @@ -28,15 +28,13 @@ _anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) printf("Animation has been ended!\n"); elm_object_disabled_set(ad->start_delay_spin, EINA_FALSE); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -45,9 +43,6 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_visible = !(ad->is_btn_visible); double start_delay = elm_spinner_value_get(ad->start_delay_spin); @@ -59,8 +54,8 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED efl_animation_start_delay_set(ad->show_anim, start_delay); //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->show_anim); - elm_object_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->show_anim); + efl_text_set(obj, "Start Alpha Animation from 1.0 to 0.0"); } else { @@ -68,21 +63,12 @@ _start_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED efl_animation_start_delay_set(ad->hide_anim, start_delay); //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->hide_anim); - elm_object_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); + efl_animation_player_animation_set(ad->anim_obj, ad->hide_anim); + efl_text_set(obj, "Start Alpha Animation from 0.0 to 1.0"); } - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -112,17 +98,15 @@ test_efl_anim_start_delay(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, evas_object_show(btn); //Show Animation - Efl_Animation *show_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); efl_animation_duration_set(show_anim, 1.0); - efl_animation_target_set(show_anim, btn); efl_animation_final_state_keep_set(show_anim, EINA_TRUE); //Hide Animation - Efl_Animation *hide_anim = efl_add(EFL_ANIMATION_ALPHA_CLASS, NULL); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); efl_animation_duration_set(hide_anim, 1.0); - efl_animation_target_set(hide_anim, btn); efl_animation_final_state_keep_set(hide_anim, EINA_TRUE); @@ -150,7 +134,16 @@ test_efl_anim_start_delay(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, //Initialize App Data ad->show_anim = show_anim; ad->hide_anim = hide_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, ad); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->start_delay_spin = start_delay_spin; ad->is_btn_visible = EINA_TRUE; diff --git a/src/bin/elementary/test_efl_anim_translate.c b/src/bin/elementary/test_efl_anim_translate.c index d76e927f67..a562d17d65 100644 --- a/src/bin/elementary/test_efl_anim_translate.c +++ b/src/bin/elementary/test_efl_anim_translate.c @@ -5,9 +5,9 @@ typedef struct _App_Data { - Efl_Animation *translate_rb_anim; - Efl_Animation *translate_lt_anim; - Efl_Animation_Object *anim_obj; + Efl_Canvas_Animation *translate_rb_anim; + Efl_Canvas_Animation *translate_lt_anim; + Efl_Canvas_Animation_Player *anim_obj; Eina_Bool is_btn_translated; } App_Data; @@ -19,20 +19,16 @@ _anim_started_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) } static void -_anim_ended_cb(void *data, const Efl_Event *event EINA_UNUSED) +_anim_ended_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { - App_Data *ad = data; - printf("Animation has been ended!\n"); - - ad->anim_obj = NULL; } static void _anim_running_cb(void *data EINA_UNUSED, const Efl_Event *event) { - Efl_Animation_Object_Running_Event_Info *event_info = event->info; - double progress = event_info->progress; + Efl_Canvas_Animation_Player_Event_Running *event_running = event->info; + double progress = event_running->progress; printf("Animation is running! Current progress(%lf)\n", progress); } @@ -41,35 +37,23 @@ _btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { App_Data *ad = data; - if (ad->anim_obj) - efl_animation_object_cancel(ad->anim_obj); - ad->is_btn_translated = !(ad->is_btn_translated); if (ad->is_btn_translated) { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->translate_rb_anim); - elm_object_text_set(obj, "Start Translate Animation to left top"); + efl_animation_player_animation_set(ad->anim_obj, ad->translate_rb_anim); + efl_text_set(obj, "Start Translate Animation to left top"); } else { //Create Animation Object from Animation - ad->anim_obj = efl_animation_object_create(ad->translate_lt_anim); - elm_object_text_set(obj, "Start Translate Animation to right bottom"); + efl_animation_player_animation_set(ad->anim_obj, ad->translate_lt_anim); + efl_text_set(obj, "Start Translate Animation to right bottom"); } - - //Register callback called when animation starts - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_STARTED, _anim_started_cb, NULL); - - //Register callback called when animation ends - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_ENDED, _anim_ended_cb, ad); - - //Register callback called while animation is executed - efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_OBJECT_EVENT_RUNNING, _anim_running_cb, NULL); - + //Let Animation Object start animation - efl_animation_object_start(ad->anim_obj); + efl_player_start(ad->anim_obj); } static void @@ -99,23 +83,29 @@ test_efl_anim_translate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo evas_object_show(btn); //Translate Animation to right bottom relatively - Efl_Animation *translate_rb_anim = efl_add(EFL_ANIMATION_TRANSLATE_CLASS, NULL); + Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); efl_animation_translate_set(translate_rb_anim, 0, 0, 100, 100); efl_animation_duration_set(translate_rb_anim, 1.0); - efl_animation_target_set(translate_rb_anim, btn); efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE); //Translate Animation to left top relatively - Efl_Animation *translate_lt_anim = efl_add(EFL_ANIMATION_TRANSLATE_CLASS, NULL); + Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); efl_animation_translate_set(translate_lt_anim, 100, 100, 0, 0); efl_animation_duration_set(translate_lt_anim, 1.0); - efl_animation_target_set(translate_lt_anim, btn); efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE); //Initialize App Data ad->translate_rb_anim = translate_rb_anim; ad->translate_lt_anim = translate_lt_anim; - ad->anim_obj = NULL; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); + ad->is_btn_translated = EINA_FALSE; //Button to start animation @@ -159,24 +149,29 @@ test_efl_anim_translate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_U evas_object_show(abs_center); //Translate Animation to right bottom absolutely - Efl_Animation *translate_rb_anim = efl_add(EFL_ANIMATION_TRANSLATE_CLASS, NULL); + Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); efl_animation_translate_absolute_set(translate_rb_anim, 0, 0, 100, 100); efl_animation_duration_set(translate_rb_anim, 1.0); - efl_animation_target_set(translate_rb_anim, btn); efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE); //Translate Animation to left top absolutely - Efl_Animation *translate_lt_anim = efl_add(EFL_ANIMATION_TRANSLATE_CLASS, NULL); + Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); efl_animation_translate_absolute_set(translate_lt_anim, 100, 100, 0, 0); efl_animation_duration_set(translate_lt_anim, 1.0); - efl_animation_target_set(translate_lt_anim, btn); efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE); //Initialize App Data ad->translate_rb_anim = translate_rb_anim; ad->translate_lt_anim = translate_lt_anim; - ad->anim_obj = NULL; ad->is_btn_translated = EINA_FALSE; + ad->anim_obj = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, win, + efl_animation_player_target_set(efl_added, btn)); + //Register callback called when animation starts + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_STARTED, _anim_started_cb, NULL); + //Register callback called when animation ends + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_ENDED, _anim_ended_cb, NULL); + //Register callback called while animation is executed + efl_event_callback_add(ad->anim_obj, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); //Button to start animation Evas_Object *btn2 = elm_button_add(win); diff --git a/src/bin/elementary/test_efl_gfx_map.c b/src/bin/elementary/test_efl_gfx_map.c index 1f06dafda2..72d7db139d 100644 --- a/src/bin/elementary/test_efl_gfx_map.c +++ b/src/bin/elementary/test_efl_gfx_map.c @@ -45,7 +45,7 @@ test_efl_gfx_map(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Evas_Object *win, *img; char buf[PATH_MAX]; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl Gfx Map"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -54,12 +54,12 @@ test_efl_gfx_map(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, img = efl_add(EFL_UI_IMAGE_CLASS, win, efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(64, 64)), efl_file_set(efl_added, buf, NULL)); - efl_image_scale_type_set(img, EFL_IMAGE_SCALE_TYPE_FILL); + efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL); evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE, _image_resize_cb, NULL); _map_set(img); efl_content_set(win, img); - efl_gfx_size_set(win, EINA_SIZE2D(W, H)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(W, H)); } diff --git a/src/bin/elementary/test_efl_ui_text.c b/src/bin/elementary/test_efl_ui_text.c index b53c427b9a..9ad0e9a50a 100644 --- a/src/bin/elementary/test_efl_ui_text.c +++ b/src/bin/elementary/test_efl_ui_text.c @@ -29,7 +29,7 @@ _create_label(Eo *win, Eo *bx) Eo *en; en = efl_add(EFL_UI_TEXT_CLASS, win); printf("Added Efl.Ui.Text object\n"); - efl_ui_text_interactive_editable_set(en, EINA_FALSE); + efl_text_interactive_editable_set(en, EINA_FALSE); elm_box_pack_end(bx, en); return en; } @@ -72,7 +72,7 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi en = _create_label(win, bx); efl_text_set(en, "You can input text here."); efl_text_font_set(en, "Sans", 14); - efl_ui_text_interactive_editable_set(en, EINA_TRUE); + efl_text_interactive_editable_set(en, EINA_TRUE); efl_text_wrap_set(en, EFL_TEXT_FORMAT_WRAP_WORD); efl_ui_text_scrollable_set(en, EINA_TRUE); evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.5); @@ -80,7 +80,7 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi en = _create_label(win, bx); efl_text_set(en, "Input multiline here."); efl_text_font_set(en, "Sans", 14); - efl_ui_text_interactive_editable_set(en, EINA_TRUE); + efl_text_interactive_editable_set(en, EINA_TRUE); efl_text_wrap_set(en, EFL_TEXT_FORMAT_WRAP_WORD); efl_text_multiline_set(en, EINA_TRUE); efl_ui_text_scrollable_set(en, EINA_TRUE); @@ -130,7 +130,7 @@ my_efl_ui_text_bt_3(void *data, Evas_Object *obj EINA_UNUSED, void *event_info E { Efl_Text_Cursor_Cursor *sel_start, *sel_end; - efl_ui_text_interactive_selection_cursors_get(data, &sel_start, &sel_end); + efl_text_interactive_selection_cursors_get(data, &sel_start, &sel_end); const char *s = efl_canvas_text_range_text_get(data, sel_start, sel_end); printf("SELECTION REGION: %d - %d\n", @@ -144,8 +144,8 @@ static void my_efl_ui_text_bt_4(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *en = data; - efl_text_cursor_object_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN), - "size=32x32 href=emoticon/evil-laugh"); + efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN), + "emoticon/evil-laugh", "size=32x32"); } static void @@ -187,6 +187,7 @@ test_efl_ui_text(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve { Evas_Object *win, *bx, *bx2, *bx3, *bt, *en; Efl_Text_Cursor_Cursor *main_cur, *cur; + char buf[128]; win = elm_win_util_standard_add("entry", "Entry"); elm_win_autodel_set(win, EINA_TRUE); @@ -215,16 +216,17 @@ test_efl_ui_text(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve cur = efl_text_cursor_new(en); efl_text_cursor_position_set(en, cur, 2); - efl_text_cursor_object_item_insert(en, cur, "size=32x32 href=emoticon"); + efl_text_cursor_item_insert(en, cur, "emoticon/happy", "size=32x32"); efl_text_cursor_position_set(en, cur, 50); - efl_text_cursor_object_item_insert(en, cur, "size=32x32 href=emoticon"); + sprintf(buf, "file://%s/images/sky_01.jpg", elm_app_data_dir_get()); + efl_text_cursor_item_insert(en, cur, buf, "size=32x32"); efl_text_cursor_position_set(en, main_cur, 5); efl_text_cursor_position_set(en, cur, 20); efl_text_annotation_insert(en, main_cur, cur, "a href=#hello"); - efl_ui_text_interactive_editable_set(en, EINA_TRUE); + efl_text_interactive_editable_set(en, EINA_TRUE); efl_ui_text_scrollable_set(en, EINA_TRUE); elm_box_pack_end(bx, en); elm_object_focus_set(en, EINA_TRUE); @@ -297,7 +299,7 @@ test_efl_ui_text_async(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi elm_win_resize_object_add(win, bx); evas_object_show(bx); - en = efl_add(EFL_UI_TEXT_ASYNC_CLASS, win, + en = efl_add(EFL_UI_TEXT_CLASS, win, efl_text_wrap_set(efl_added, EFL_TEXT_FORMAT_WRAP_WORD), efl_text_multiline_set(efl_added, EINA_TRUE) ); @@ -332,3 +334,186 @@ test_efl_ui_text_async(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi evas_object_resize(win, 480, 320); evas_object_show(win); } + +#define IMAGES_SZ 5 + +static const char *images[IMAGES_SZ] = { + "sky", "logo", "dog", "eet_rock", "eet_plant" }; + +static void +my_efl_ui_text_item_factory_bt_image(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *en = data; + static int image_idx = 0; + + image_idx = (image_idx + 1) % IMAGES_SZ; + efl_text_cursor_item_insert(en, + efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN), + images[image_idx], "size=32x32"); + printf("Inserted image: key = %s\n", images[image_idx]); +} + +static void +my_efl_ui_text_item_factory_bt_emoticon(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *en = data; + efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN), + "emoticon/evil-laugh", "size=32x32"); +} + +static struct +{ + const char *name; + Eo *item_factory; +} factories[3]; + +static void +my_efl_ui_text_item_factory_bt_change(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *en = data; + static int item_factory_idx = 0; + + item_factory_idx = (item_factory_idx + 1) % 3; + efl_ui_text_item_factory_set(en, factories[item_factory_idx].item_factory); + printf("Factory set to: %s\n", factories[item_factory_idx].name); +} + +#define FACTORY_NONE 0 +#define FACTORY_IMAGE 1 +#define FACTORY_EMOTICON 2 + +void +test_ui_text_item_factory(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *win, *bx, *bx2, *bx3, *bt, *en; + Efl_Text_Cursor_Cursor *main_cur, *cur; + char buf[128]; + Eina_File *f; + + win = elm_win_util_standard_add("entry", "Entry"); + elm_win_autodel_set(win, EINA_TRUE); + + bx = elm_box_add(win); + evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, bx); + evas_object_show(bx); + + en = efl_add(EFL_UI_TEXT_CLASS, win, + efl_text_multiline_set(efl_added, EINA_TRUE)); + + factories[FACTORY_NONE].name = "None (Fallback)"; + factories[FACTORY_NONE].item_factory = NULL; + + factories[FACTORY_IMAGE].name = "Image Factory"; + factories[FACTORY_IMAGE].item_factory = + efl_add(EFL_UI_TEXT_FACTORY_IMAGES_CLASS, en); + + factories[FACTORY_EMOTICON].name = "Emoticon Factory"; + factories[FACTORY_EMOTICON].item_factory = + efl_add(EFL_UI_TEXT_FACTORY_EMOTICONS_CLASS, en); + + // Test assigning file path source + sprintf(buf, "%s/images/sky_01.jpg", elm_app_data_dir_get()); + efl_ui_text_factory_images_matches_add(factories[FACTORY_IMAGE].item_factory, + images[0], buf, NULL); + sprintf(buf, "%s/images/logo.png", elm_app_data_dir_get()); + efl_ui_text_factory_images_matches_add(factories[FACTORY_IMAGE].item_factory, + images[1], buf, NULL); + sprintf(buf, "%s/images/mystrale.jpg", elm_app_data_dir_get()); + efl_ui_text_factory_images_matches_add(factories[FACTORY_IMAGE].item_factory, + images[2], buf, NULL); + + // Open EET source w/ key + sprintf(buf, "%s/images/image_items.eet", elm_app_data_dir_get()); + f = eina_file_open(buf, EINA_FALSE); + if (f) + { + efl_ui_text_factory_images_matches_mmap_add( + factories[FACTORY_IMAGE].item_factory, + "eet_rock", f, "rock"); + efl_ui_text_factory_images_matches_mmap_add( + factories[FACTORY_IMAGE].item_factory, + "eet_plant", f, "plant"); + eina_file_close(f); + } + else + { + printf("Error loading test file. Please review test."); + } + + + printf("Added Efl.Ui.Text object\n"); + efl_text_set(en, "Hello world! Goodbye world! This is a test text for the" + " new UI Text widget.\xE2\x80\xA9This is the next paragraph.\nThis" + " is the next line.\nThis is Yet another line! Line and paragraph" + " separators are actually different!"); + efl_text_font_set(en, "Sans", 14); + efl_text_normal_color_set(en, 255, 255, 255, 255); + + main_cur = efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN); + cur = efl_text_cursor_new(en); + + efl_text_cursor_position_set(en, cur, 2); + efl_text_cursor_item_insert(en, cur, "emoticon/happy", "size=32x32"); + efl_text_cursor_position_set(en, cur, 50); + + sprintf(buf, "file://%s/images/sky_01.jpg", elm_app_data_dir_get()); + efl_text_cursor_item_insert(en, cur, buf, "size=32x32"); + efl_text_cursor_position_set(en, main_cur, 5); + + efl_text_interactive_editable_set(en, EINA_TRUE); + efl_ui_text_scrollable_set(en, EINA_TRUE); + elm_box_pack_end(bx, en); + elm_object_focus_set(en, EINA_TRUE); + + bx2 = elm_box_add(win); + elm_box_horizontal_set(bx2, EINA_TRUE); + evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); + + bt = elm_button_add(win); + elm_object_text_set(bt, "Image"); + evas_object_smart_callback_add(bt, "clicked", + my_efl_ui_text_item_factory_bt_image, en); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + elm_object_focus_allow_set(bt, EINA_FALSE); + evas_object_show(bt); + + bt = elm_button_add(win); + elm_object_text_set(bt, "Emoticon"); + evas_object_smart_callback_add(bt, "clicked", + my_efl_ui_text_item_factory_bt_emoticon, en); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + elm_object_focus_allow_set(bt, EINA_FALSE); + evas_object_show(bt); + + bt = elm_button_add(win); + elm_object_text_set(bt, "Factory"); + evas_object_smart_callback_add(bt, "clicked", + my_efl_ui_text_item_factory_bt_change, en); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + elm_box_pack_end(bx2, bt); + elm_object_focus_allow_set(bt, EINA_FALSE); + evas_object_show(bt); + + bx3 = elm_box_add(win); + elm_box_horizontal_set(bx3, EINA_TRUE); + evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, EVAS_HINT_FILL); + + elm_box_pack_end(bx, bx3); + elm_box_pack_end(bx, bx2); + evas_object_show(bx3); + evas_object_show(bx2); + + evas_object_resize(win, 480, 320); + evas_object_show(win); +} diff --git a/src/bin/elementary/test_evas_map.c b/src/bin/elementary/test_evas_map.c index 6f026cb028..7e25aafba7 100644 --- a/src/bin/elementary/test_evas_map.c +++ b/src/bin/elementary/test_evas_map.c @@ -41,7 +41,7 @@ _image_resize_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, { Eina_Size2D sz; - sz = efl_gfx_size_get(obj); + sz = efl_gfx_entity_size_get(obj); _map_set(obj, sz.w, sz.h); } @@ -53,7 +53,7 @@ test_evas_map(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Evas_Object *win, *img; char buf[PATH_MAX]; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Evas Map"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -62,12 +62,12 @@ test_evas_map(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, img = efl_add(EFL_UI_IMAGE_CLASS, win, efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(64, 64)), efl_file_set(efl_added, buf, NULL)); - efl_image_scale_type_set(img, EFL_IMAGE_SCALE_TYPE_FILL); + efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL); evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE, _image_resize_cb, NULL); _map_set(img, W, H); efl_content_set(win, img); - efl_gfx_size_set(win, EINA_SIZE2D(W, H)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(W, H)); } diff --git a/src/bin/elementary/test_evas_mask.c b/src/bin/elementary/test_evas_mask.c index 050158cd86..e322f7ba65 100644 --- a/src/bin/elementary/test_evas_mask.c +++ b/src/bin/elementary/test_evas_mask.c @@ -108,7 +108,7 @@ test_evas_mask(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event Elm_Genlist_Item_Class *itc; char buf[PATH_MAX]; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Evas masking demo"), efl_ui_win_autodel_set(efl_added, 1)); @@ -122,7 +122,7 @@ test_evas_mask(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event // FIXME: layout EO API snprintf(buf, sizeof(buf), "%s/objects/test_masking.edj", elm_app_data_dir_get()); - ly = efl_add(EFL_UI_LAYOUT_CLASS, win, + ly = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, win, efl_file_set(efl_added, buf, "masking")); efl_pack(box, ly); @@ -176,5 +176,5 @@ test_evas_mask(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event efl_gfx_size_hint_weight_set(efl_added, 0.0, 0.0), efl_pack(box2, efl_added)); - efl_gfx_size_set(win, EINA_SIZE2D(500, 600)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 600)); } diff --git a/src/bin/elementary/test_evas_snapshot.c b/src/bin/elementary/test_evas_snapshot.c index 48cd8a38ea..e288278a4a 100644 --- a/src/bin/elementary/test_evas_snapshot.c +++ b/src/bin/elementary/test_evas_snapshot.c @@ -55,7 +55,7 @@ _render_post(void *data, const Efl_Event *ev) { Eo *snap = data; - efl_event_callback_del(ev->object, EFL_CANVAS_EVENT_RENDER_POST, _render_post, data); + efl_event_callback_del(ev->object, EFL_CANVAS_SCENE_EVENT_RENDER_POST, _render_post, data); efl_file_save(snap, eina_slstr_printf("%s/snap-efl.png", eina_environment_tmp_get()), NULL, NULL); } @@ -67,7 +67,7 @@ _save_image(void *data, const Efl_Event *ev EINA_UNUSED) // Save is available only during render_post snap = efl_key_wref_get(win, "snap"); - efl_event_callback_add(win, EFL_CANVAS_EVENT_RENDER_POST, _render_post, snap); + efl_event_callback_add(win, EFL_CANVAS_SCENE_EVENT_RENDER_POST, _render_post, snap); // Force a render in order to ensure post_render is called. EO API provides // no way to do manual render, so we add a damage to the snapshot object. @@ -118,7 +118,7 @@ test_evas_snapshot(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e Eo *win, *table, *o, *snap, *box; const char *path; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Evas Snapshot"), efl_ui_win_autodel_set(efl_added, 1)); @@ -204,5 +204,5 @@ test_evas_snapshot(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_key_wref_set(win, "snap", snap); efl_key_wref_set(win, "table", table); - efl_gfx_size_set(win, EINA_SIZE2D(400, 400)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(400, 400)); } diff --git a/src/bin/elementary/test_events.c b/src/bin/elementary/test_events.c index 38c94418ce..b9fc394980 100644 --- a/src/bin/elementary/test_events.c +++ b/src/bin/elementary/test_events.c @@ -120,7 +120,7 @@ _clicked_button2(void *data, const Efl_Event *ev EINA_UNUSED) if (!td->evkeyup) { - r = efl_gfx_geometry_get(bt); + r = efl_gfx_entity_geometry_get(bt); r.x = r.x + r.w / 2; r.y = r.y + r.h / 2; diff --git a/src/bin/elementary/test_flip_page_eo.c b/src/bin/elementary/test_flip_page_eo.c index cf88d0291d..a1ce5f5b66 100644 --- a/src/bin/elementary/test_flip_page_eo.c +++ b/src/bin/elementary/test_flip_page_eo.c @@ -134,7 +134,7 @@ _slice_3d(State *st EINA_UNUSED, Slice *sl, Evas_Coord x, Evas_Coord y, Evas_Coo efl_gfx_map_coord_absolute_get(sl->obj, i, &xx, &yy, NULL); efl_gfx_map_coord_absolute_set(sl->obj, i, xx, yy, 0); } - efl_gfx_visible_set(sl->obj, efl_gfx_map_clockwise_get(sl->obj)); + efl_gfx_entity_visible_set(sl->obj, efl_gfx_map_clockwise_get(sl->obj)); } static void diff --git a/src/bin/elementary/test_focus.c b/src/bin/elementary/test_focus.c index 3701b4575d..ceb6e5cdd5 100644 --- a/src/bin/elementary/test_focus.c +++ b/src/bin/elementary/test_focus.c @@ -563,7 +563,9 @@ _focus_layout_part(void *data, Evas_Object *o EINA_UNUSED, void *event_info EINA { Evas_Object *ed = elm_layout_edje_get(data); + edje_object_freeze(ed); Evas_Object *newfocus = (Evas_Object *)edje_object_part_object_get(ed, "sky"); + edje_object_thaw(ed); const char *type = evas_object_type_get(newfocus); printf("evas_object_focus_set(%p, EINA_TRUE) %s\n", newfocus, type); evas_object_focus_set(newfocus, EINA_TRUE);; @@ -1000,7 +1002,7 @@ struct _focus5_obj _focus5_layout_data3[] = { {"top R", 80, 0, 20, 10}, {"bot L", 0, 90, 20, 10}, {"bot R", 80, 90, 20, 10}, - {"center", 40, 40, 20, 10}, + {"center", 40, 45, 20, 10}, {NULL, 0, 0, 0, 0} /* sentinel */ }; @@ -1087,12 +1089,22 @@ _focus6_gl_text_get(void *data, Evas_Object *obj EINA_UNUSED, snprintf(buf, sizeof(buf), "Focus item %d", (int)(uintptr_t)data); return strdup(buf); } + +static void +_focus6_btn_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + Evas_Object *ly = data; + Elm_Focus_Direction dir = (uintptr_t)evas_object_data_get(obj, "direction"); + + elm_object_focus_next(ly, dir); +} + void test_focus6(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Evas_Object *win, *ly, *lb, *btn, *gl; + Evas_Object *win, *box, *box2, *sep, *ly, *lb, *btn, *gl; Elm_Genlist_Item_Class *itc; -// Elm_Object_Item *it; + Elm_Object_Item *it; char buf[PATH_MAX]; int i; @@ -1100,13 +1112,19 @@ test_focus6(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_win_autodel_set(win, EINA_TRUE); elm_win_focus_highlight_enabled_set(win, EINA_TRUE); + // main vertical box + box = elm_box_add(win); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, box); + evas_object_show(box); + // main layout ly = elm_layout_add(win); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); elm_layout_file_set(ly, buf, "focus_test_6"); evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_win_resize_object_add(win, ly); + elm_box_pack_end(box, ly); evas_object_show(ly); lb = elm_label_add(ly); @@ -1126,12 +1144,16 @@ test_focus6(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in itc->func.text_get = _focus6_gl_text_get; for (i = 0; i < 3; i++) { -// it = - elm_genlist_item_append(gl, itc, (void*)(uintptr_t)i, NULL, - ELM_GENLIST_ITEM_NONE, NULL, NULL); - /* This is another bug! This focus item at start do not work */ - // if (i == 1) - // elm_object_item_focus_set(it, EINA_TRUE); + it = elm_genlist_item_append(gl, itc, (void*)(uintptr_t)i, NULL, + ELM_GENLIST_ITEM_NONE, NULL, NULL); + + if (i == 1) + { + elm_genlist_item_selected_set(it, EINA_TRUE); + + /* focus should start from second item */ + elm_object_item_focus_set(it, EINA_TRUE); + } } elm_genlist_item_class_free(itc); @@ -1143,10 +1165,62 @@ test_focus6(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_layout_box_append(ly, "box", btn); evas_object_show(btn); /* focus should start from second button */ - if (i == 1) - elm_object_focus_set(btn, EINA_TRUE); + // if (i == 1) + // elm_object_focus_set(btn, EINA_TRUE); } + // 4 buttons (not focusable) to test focus move by API + sep = elm_separator_add(win); + elm_separator_horizontal_set(sep, EINA_TRUE); + elm_box_pack_end(box, sep); + evas_object_show(sep); + + box2 = elm_box_add(win); + elm_box_horizontal_set(box2, EINA_TRUE); + evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, 0.0); + elm_box_pack_end(box, box2); + evas_object_show(box2); + + lb = elm_label_add(ly); + evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0); + elm_object_text_set(lb, "Move the focus using elm_object_focus_next()"); + elm_box_pack_end(box2, lb); + evas_object_show(lb); + + btn = elm_button_add(win); + elm_object_text_set(btn, "LEFT"); + elm_object_focus_allow_set(btn, EINA_FALSE); + evas_object_data_set(btn, "direction", (void *)(uintptr_t)ELM_FOCUS_LEFT); + evas_object_smart_callback_add(btn, "clicked", _focus6_btn_clicked, ly); + elm_box_pack_end(box2, btn); + evas_object_show(btn); + + btn = elm_button_add(win); + elm_object_text_set(btn, "UP"); + elm_object_focus_allow_set(btn, EINA_FALSE); + evas_object_data_set(btn, "direction", (void *)(uintptr_t)ELM_FOCUS_UP); + evas_object_smart_callback_add(btn, "clicked", _focus6_btn_clicked, ly); + elm_box_pack_end(box2, btn); + evas_object_show(btn); + + btn = elm_button_add(win); + elm_object_text_set(btn, "DOWN"); + elm_object_focus_allow_set(btn, EINA_FALSE); + evas_object_data_set(btn, "direction", (void *)(uintptr_t)ELM_FOCUS_DOWN); + evas_object_smart_callback_add(btn, "clicked", _focus6_btn_clicked, ly); + elm_box_pack_end(box2, btn); + evas_object_show(btn); + + btn = elm_button_add(win); + elm_object_text_set(btn, "RIGHT"); + elm_object_focus_allow_set(btn, EINA_FALSE); + evas_object_data_set(btn, "direction", (void *)(uintptr_t)ELM_FOCUS_RIGHT); + evas_object_smart_callback_add(btn, "clicked", _focus6_btn_clicked, ly); + elm_box_pack_end(box2, btn); + evas_object_show(btn); + + // size and show the window evas_object_resize(win, 400, 400); evas_object_show(win); } diff --git a/src/bin/elementary/test_genlist.c b/src/bin/elementary/test_genlist.c index 7db692034a..b4168fd830 100644 --- a/src/bin/elementary/test_genlist.c +++ b/src/bin/elementary/test_genlist.c @@ -21,6 +21,9 @@ struct _api_data void *gl; void *filter_data; /* The data used for filtering */ + Elm_Genlist_Item_Scrollto_Type type; + Elm_List_Mode mode; + int max_items, show_item; int scrollto; }; typedef struct _api_data api_data; @@ -365,11 +368,11 @@ _bounce_cb(void *data) unsigned long long tll, t0ll, tdll; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t); - t0ll = (t0.tv_sec * 1000000000) + t0.tv_nsec; - tll = (t.tv_sec * 1000000000) + t.tv_nsec; + t0ll = (((unsigned long long)t0.tv_sec) * 1000000000ULL) + t0.tv_nsec; + tll = (((unsigned long long)t.tv_sec) * 1000000000ULL) + t.tv_nsec; tdll = tll - t0ll; printf("NS since 2 = %llu , %llu frames = %llu / frame\n", - tdll, frames, tdll / (unsigned long long)frames); + tdll, frames, tdll / frames); #endif if (getenv("ELM_TEST_AUTOBOUNCE")) elm_exit(); } @@ -2092,10 +2095,56 @@ gl9_con_req(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_genlist_item_expanded_set(glit, EINA_FALSE); } +static void +gl9_item_next(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + api_data *api = data; + Elm_Object_Item *it; + + it = elm_genlist_selected_item_get(api->gl); + it = elm_genlist_item_next_get(it); + elm_genlist_item_selected_set(it, EINA_TRUE); + printf("Next item: #%d\n", (int)(uintptr_t)elm_object_item_data_get(it)); +} + +static void +gl9_item_prev(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + api_data *api = data; + Elm_Object_Item *it; + + it = elm_genlist_selected_item_get(api->gl); + it = elm_genlist_item_prev_get(it); + elm_genlist_item_selected_set(it, EINA_TRUE); + printf("Prev item: #%d\n", (int)(uintptr_t)elm_object_item_data_get(it)); +} + +static void +gl9_item_first(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + api_data *api = data; + Elm_Object_Item *it; + + it = elm_genlist_first_item_get(api->gl); + elm_genlist_item_selected_set(it, EINA_TRUE); + printf("First item: #%d\n", (int)(uintptr_t)elm_object_item_data_get(it)); +} + +static void +gl9_item_last(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + api_data *api = data; + Elm_Object_Item *it; + + it = elm_genlist_last_item_get(api->gl); + elm_genlist_item_selected_set(it, EINA_TRUE); + printf("Last item: #%d\n", (int)(uintptr_t)elm_object_item_data_get(it)); +} + void test_genlist9(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Evas_Object *win, *gl, *bx; + Evas_Object *win, *gl, *bx, *bx2, *bt; Elm_Object_Item *git; api_data *api = calloc(1, sizeof(api_data)); @@ -2135,7 +2184,6 @@ test_genlist9(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ git = elm_genlist_item_append(gl, api->itc2, (void *)0/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_GROUP, gl4_sel/* func */, NULL/* func data */); - elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); elm_genlist_item_append(gl, api->itc1, (void *)1/* item data */, git/* parent */, ELM_GENLIST_ITEM_TREE, gl4_sel/* func */, @@ -2149,7 +2197,6 @@ test_genlist9(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ git = elm_genlist_item_append(gl, api->itc2, (void *)4/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_GROUP, gl4_sel/* func */, NULL/* func data */); - elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); elm_genlist_item_append(gl, api->itc1, (void *)5/* item data */, git/* parent */, ELM_GENLIST_ITEM_TREE, gl4_sel/* func */, @@ -2168,6 +2215,36 @@ test_genlist9(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ evas_object_smart_callback_add(gl, "expanded", gl9_exp, api); evas_object_smart_callback_add(gl, "contracted", gl9_con, api); + bx2 = elm_box_add(win); + elm_box_horizontal_set(bx2, EINA_TRUE); + elm_box_pack_end(bx, bx2); + evas_object_show(bx2); + + bt = elm_button_add(bx2); + elm_object_text_set(bt, "First item"); + evas_object_smart_callback_add(bt, "clicked", gl9_item_first, api); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + + bt = elm_button_add(bx2); + elm_object_text_set(bt, "Next item"); + evas_object_smart_callback_add(bt, "clicked", gl9_item_next, api); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + bt = elm_button_add(bx2); + + bt = elm_button_add(bx2); + elm_object_text_set(bt, "Prev item"); + evas_object_smart_callback_add(bt, "clicked", gl9_item_prev, api); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + + bt = elm_button_add(bx2); + elm_object_text_set(bt, "Last item"); + evas_object_smart_callback_add(bt, "clicked", gl9_item_last, api); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + evas_object_resize(win, 480, 800); evas_object_show(win); } @@ -5401,6 +5478,283 @@ test_genlist_show_bring(void *data EINA_UNUSED, evas_object_show(win); } +static Eina_Bool +_late_item_prepender(void *data) +{ + api_data *api = (api_data*)data; + int i; + Elm_Object_Item *it = elm_genlist_nth_item_get(api->gl, api->show_item); + for (i = 0; i <= 100; i++) + elm_genlist_item_prepend(api->gl, api->itc1, (void*)(uintptr_t)i, it, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_class_free(api->itc1); + return ECORE_CALLBACK_CANCEL; +} + +static void +test_genlist_show_item(void *data, + Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *win, *gl; + Elm_Object_Item *gli = NULL; + int i, max; + api_data *api = calloc(1, sizeof(api_data)); + api_data *g_data = (api_data*)data; + + win = elm_win_util_standard_add("genlist", "Genlist Show Last Item"); + elm_win_autodel_set(win, EINA_TRUE); + evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, api); + + gl = elm_genlist_add(win); + evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(gl); + if (g_data) + elm_genlist_mode_set(gl, g_data->mode); + else + elm_genlist_mode_set(gl, ELM_LIST_COMPRESS); + api->gl = gl; + elm_win_resize_object_add(win, gl); + + api->itc1 = elm_genlist_item_class_new(); + api->itc1->item_style = "default"; + api->itc1->func.text_get = gl_text_get1; + api->itc1->func.content_get = gl_content_get; + api->itc1->func.state_get = NULL; + api->itc1->func.del = NULL; + + g_data->gl = gl; + g_data->itc1 = api->itc1; + + if (g_data) + max = g_data->max_items; + else max = 20000; + for (i = 0; i <= max; i++) + elm_genlist_item_append(gl, api->itc1, (void*)(uintptr_t)i, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + + if (g_data) + gli = elm_genlist_nth_item_get(gl, g_data->show_item); + if (!gli) gli = elm_genlist_last_item_get(gl); + elm_genlist_item_show(gli, g_data->type); + + //prepends item while queue processing is happening + ecore_timer_add(0.1, _late_item_prepender, g_data); + + evas_object_resize(win, 480, 400); + explode_win_enable(win); + evas_object_show(win); +} + +static void +test_genlist_show_tree(void *data, + Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *win, *gl; + Elm_Object_Item *gli = NULL, *show = NULL; + int i, max; + api_data *api = calloc(1, sizeof(api_data)); + api_data *g_data = (api_data*)data; + + win = elm_win_util_standard_add("genlist", "Genlist Show Tree"); + elm_win_autodel_set(win, EINA_TRUE); + evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, api); + + gl = elm_genlist_add(win); + evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(gl); + api->gl = gl; + elm_win_resize_object_add(win, gl); + if (g_data) + elm_genlist_mode_set(gl, g_data->mode); + else + elm_genlist_mode_set(gl, ELM_LIST_COMPRESS); + + api->itc1 = elm_genlist_item_class_new(); + api->itc1->item_style = "default"; + api->itc1->func.text_get = gl_text_get1; + api->itc1->func.content_get = gl_content_get; + api->itc1->func.state_get = NULL; + api->itc1->func.del = NULL; + + if (g_data) + max = g_data->max_items; + else max = 2000; + for (i = 0; i <= max; i++) + { + if (i % (max / 20) == 0) + gli = elm_genlist_item_append(gl, api->itc1, (void*)(uintptr_t)i, gli, ELM_GENLIST_ITEM_TREE, NULL, NULL); + else + elm_genlist_item_append(gl, api->itc1, (void*)(uintptr_t)i, gli, ELM_GENLIST_ITEM_NONE, NULL, NULL); + } + + if (g_data) + show = elm_genlist_nth_item_get(gl, g_data->show_item); + else show = gli; + elm_genlist_item_class_free(api->itc1); + elm_genlist_item_show(show, g_data->type); + + evas_object_resize(win, 480, 400); + explode_win_enable(win); + evas_object_show(win); +} + +static void +_entry_changed_cb(void *data, + Evas_Object *obj, + void *event_info EINA_UNUSED) +{ + int *val = (int*) data; + *val = atoi(elm_entry_entry_get(obj)); +} + +static void +_radio_changed_type_cb(void *data, + Evas_Object *obj, + void *event_info EINA_UNUSED) +{ + int val = elm_radio_state_value_get(obj); + api_data *api = (api_data*)data; + api->type = val; +} + +static void +_radio_changed_mode_cb(void *data, + Evas_Object *obj, + void *event_info EINA_UNUSED) +{ + int val = elm_radio_state_value_get(obj); + api_data *api = (api_data*)data; + api->mode = val; +} + +void +test_genlist_item_show(void *data EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + + Evas_Object *win, *bt_show, *bt_bring, *bx, *max_items, *show_item, *bxx, *rd1, *rd2, *rd3; + static Elm_Entry_Filter_Accept_Set digits_filter_data; + api_data *api = calloc(1, sizeof(api_data)); + + win = elm_win_util_standard_add("genlist", "Genlist Item Show"); + elm_win_autodel_set(win, EINA_TRUE); + evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, api); + + bx = elm_box_add(win); + 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); + evas_object_show(bx); + elm_win_resize_object_add(win, bx); + + digits_filter_data.accepted = "0123456789"; + digits_filter_data.rejected = NULL; + + max_items = elm_entry_add(win); + elm_entry_single_line_set(max_items, EINA_TRUE); + elm_entry_scrollable_set(max_items, EINA_TRUE); + evas_object_size_hint_weight_set(max_items, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(max_items, EVAS_HINT_FILL, 0.5); + elm_object_part_text_set(max_items, "guide", "Enter the maximum number of items needed"); + evas_object_smart_callback_add(max_items, "changed", _entry_changed_cb, (void*)(&(api->max_items))); + elm_entry_markup_filter_append(max_items, elm_entry_filter_accept_set, &digits_filter_data); + evas_object_show(max_items); + elm_box_pack_end(bx, max_items); + + show_item = elm_entry_add(win); + elm_entry_single_line_set(show_item, EINA_TRUE); + elm_entry_scrollable_set(show_item, EINA_TRUE); + evas_object_size_hint_weight_set(show_item, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(show_item, EVAS_HINT_FILL, 0.5); + elm_object_part_text_set(show_item, "guide", "Enter the number of item to be shown"); + evas_object_smart_callback_add(show_item, "changed", _entry_changed_cb, (void*)(&(api->show_item))); + elm_entry_markup_filter_append(show_item, elm_entry_filter_accept_set, &digits_filter_data); + evas_object_show(show_item); + elm_box_pack_end(bx, show_item); + + bxx = elm_box_add(win); + elm_box_horizontal_set(bxx, EINA_TRUE); + evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bxx, EVAS_HINT_FILL, 0.5); + + rd1 = elm_radio_add(win); + elm_object_text_set(rd1, "Top"); + elm_radio_state_value_set(rd1, ELM_GENLIST_ITEM_SCROLLTO_TOP); + evas_object_smart_callback_add(rd1, "changed", _radio_changed_type_cb, api); + evas_object_show(rd1); + elm_box_pack_end(bxx, rd1); + + rd2 = elm_radio_add(win); + elm_object_text_set(rd2, "Middle"); + evas_object_smart_callback_add(rd2, "changed", _radio_changed_type_cb, api); + elm_radio_state_value_set(rd2, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); + elm_radio_group_add(rd2, rd1); + evas_object_show(rd2); + elm_box_pack_end(bxx, rd2); + + rd3 = elm_radio_add(win); + elm_object_text_set(rd3, "Bottom"); + evas_object_smart_callback_add(rd3, "changed", _radio_changed_type_cb, api); + elm_radio_state_value_set(rd3, ELM_GENLIST_ITEM_SCROLLTO_BOTTOM); + elm_radio_group_add(rd3, rd1); + evas_object_show(rd3); + elm_box_pack_end(bxx, rd3); + evas_object_show(bxx); + elm_box_pack_end(bx, bxx); + elm_radio_value_set(rd1, ELM_GENLIST_ITEM_SCROLLTO_TOP); + api->type = ELM_GENLIST_ITEM_SCROLLTO_TOP; + + bxx = elm_box_add(win); + elm_box_horizontal_set(bxx, EINA_TRUE); + evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bxx, EVAS_HINT_FILL, 0.5); + + rd1 = elm_radio_add(win); + elm_object_text_set(rd1, "ELM_LIST_SCROLL"); + elm_radio_state_value_set(rd1, ELM_LIST_SCROLL); + evas_object_smart_callback_add(rd1, "changed", _radio_changed_mode_cb, api); + evas_object_show(rd1); + elm_box_pack_end(bxx, rd1); + + rd2 = elm_radio_add(win); + elm_object_text_set(rd2, "ELM_LIST_LIMIT"); + evas_object_smart_callback_add(rd2, "changed", _radio_changed_mode_cb, api); + elm_radio_state_value_set(rd2, ELM_LIST_LIMIT); + elm_radio_group_add(rd2, rd1); + evas_object_show(rd2); + elm_box_pack_end(bxx, rd2); + + rd3 = elm_radio_add(win); + elm_object_text_set(rd3, "ELM_LIST_COMPRESS"); + evas_object_smart_callback_add(rd3, "changed", _radio_changed_mode_cb, api); + elm_radio_state_value_set(rd3, ELM_LIST_COMPRESS); + elm_radio_group_add(rd3, rd1); + evas_object_show(rd3); + elm_box_pack_end(bxx, rd3); + evas_object_show(bxx); + elm_box_pack_end(bx, bxx); + elm_radio_value_set(rd1, ELM_LIST_SCROLL); + api->mode = ELM_LIST_SCROLL; + + bt_show = elm_button_add(win); + elm_object_text_set(bt_show, "Plain Genlist"); + evas_object_smart_callback_add(bt_show, "clicked", test_genlist_show_item, api); + evas_object_show(bt_show); + elm_box_pack_end(bx, bt_show); + + bt_bring = elm_button_add(win); + elm_object_text_set(bt_bring, "Genlist Tree"); + evas_object_smart_callback_add(bt_bring, "clicked", test_genlist_show_tree, api); + evas_object_show(bt_bring); + elm_box_pack_end(bx, bt_bring); + + evas_object_resize(win, 480, 400); + explode_win_enable(win); + evas_object_show(win); +} + /*** Genlist Cache *********************************************************/ static char * diff --git a/src/bin/elementary/test_gesture_framework.c b/src/bin/elementary/test_gesture_framework.c index 169ceef09b..ada28bc50f 100644 --- a/src/bin/elementary/test_gesture_framework.c +++ b/src/bin/elementary/test_gesture_framework.c @@ -173,7 +173,7 @@ _color_and_icon_set(infra_data *infra, char *name, int n, int max, /* START - Callbacks for gestures */ static void -finger_tap_start(void *data , Efl_Gesture *tap) +finger_tap_start(void *data , Efl_Canvas_Gesture *tap) { Eina_Vector2 pos = efl_gesture_hotspot_get(tap); @@ -182,13 +182,13 @@ finger_tap_start(void *data , Efl_Gesture *tap) } static void -finger_tap_update(void *data , Efl_Gesture *tap EINA_UNUSED) +finger_tap_update(void *data , Efl_Canvas_Gesture *tap EINA_UNUSED) { _color_and_icon_set(data, TAP_NAME, 1, MAX_TAP, UPDATE_COLOR); } static void -finger_tap_end(void *data , Efl_Gesture *tap) +finger_tap_end(void *data , Efl_Canvas_Gesture *tap) { Eina_Vector2 pos = efl_gesture_hotspot_get(tap); @@ -197,14 +197,14 @@ finger_tap_end(void *data , Efl_Gesture *tap) } static void -finger_tap_abort(void *data , Efl_Gesture *tap EINA_UNUSED) +finger_tap_abort(void *data , Efl_Canvas_Gesture *tap EINA_UNUSED) { _color_and_icon_set(data, TAP_NAME, 1, MAX_TAP, ABORT_COLOR); printf("Tap Aborted\n"); } static void -finger_long_tap_start(void *data , Efl_Gesture *tap) +finger_long_tap_start(void *data , Efl_Canvas_Gesture *tap) { Eina_Vector2 pos = efl_gesture_hotspot_get(tap); @@ -213,14 +213,14 @@ finger_long_tap_start(void *data , Efl_Gesture *tap) } static void -finger_long_tap_update(void *data , Efl_Gesture *tap EINA_UNUSED) +finger_long_tap_update(void *data , Efl_Canvas_Gesture *tap EINA_UNUSED) { _color_and_icon_set(data, LONG_TAP_NAME, 1, MAX_TAP, UPDATE_COLOR); printf("Long Tap Gesture updated\n"); } static void -finger_long_tap_end(void *data , Efl_Gesture *tap) +finger_long_tap_end(void *data , Efl_Canvas_Gesture *tap) { Eina_Vector2 pos = efl_gesture_hotspot_get(tap); @@ -229,7 +229,7 @@ finger_long_tap_end(void *data , Efl_Gesture *tap) } static void -finger_long_tap_abort(void *data , Efl_Gesture *tap EINA_UNUSED) +finger_long_tap_abort(void *data , Efl_Canvas_Gesture *tap EINA_UNUSED) { _color_and_icon_set(data, LONG_TAP_NAME, 1, MAX_TAP, ABORT_COLOR); printf("Long Tap Aborted\n"); @@ -238,7 +238,7 @@ finger_long_tap_abort(void *data , Efl_Gesture *tap EINA_UNUSED) static void tap_gesture_cb(void *data , const Efl_Event *ev) { - Efl_Gesture *g = ev->info; + Efl_Canvas_Gesture *g = ev->info; switch(efl_gesture_state_get(g)) { case EFL_GESTURE_STARTED: @@ -261,7 +261,7 @@ tap_gesture_cb(void *data , const Efl_Event *ev) static void long_tap_gesture_cb(void *data , const Efl_Event *ev) { - Efl_Gesture *g = ev->info; + Efl_Canvas_Gesture *g = ev->info; switch(efl_gesture_state_get(g)) { case EFL_GESTURE_STARTED: diff --git a/src/bin/elementary/test_gesture_layer.c b/src/bin/elementary/test_gesture_layer.c index a21fe0846b..28f3582ce7 100644 --- a/src/bin/elementary/test_gesture_layer.c +++ b/src/bin/elementary/test_gesture_layer.c @@ -57,6 +57,7 @@ apply_changes(Photo_Object *po) po->bx + po->bw / 2, po->by + po->bh /2); evas_object_map_enable_set(po->ic, EINA_TRUE); evas_object_map_set(po->ic, map); + evas_object_anti_alias_set(po->ic, EINA_TRUE); { Evas_Map *shadow_map = evas_map_new(4); diff --git a/src/bin/elementary/test_gfx_filters.c b/src/bin/elementary/test_gfx_filters.c index 958688f308..72b0ba343e 100644 --- a/src/bin/elementary/test_gfx_filters.c +++ b/src/bin/elementary/test_gfx_filters.c @@ -247,7 +247,7 @@ _text_resize(void *data EINA_UNUSED, const Efl_Event *ev) { Eina_Size2D sz; - sz = efl_gfx_size_get(ev->object); + sz = efl_gfx_entity_size_get(ev->object); efl_gfx_size_hint_min_set(ev->object, sz); } @@ -296,8 +296,8 @@ _font_size_change(void *data, const Efl_Event *ev) const char *font; text = efl_key_wref_get(win, "text"); - efl_text_properties_font_get(text, &font, NULL); - efl_text_properties_font_set(text, font, elm_spinner_value_get(ev->object)); + efl_text_font_get(text, &font, NULL); + efl_text_font_set(text, font, elm_spinner_value_get(ev->object)); } static void @@ -333,7 +333,7 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve { Eo *win, *box, *box2, *o, *text = NULL, *spinner, *code, *split, *flip, *tb; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Gfx Filter Editor"), efl_ui_win_autodel_set(efl_added, 1)); @@ -459,11 +459,11 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve // Note: No TEXT object with EO APIs o = text = evas_object_text_add(evas_object_evas_get(win)); - efl_event_callback_add(o, EFL_GFX_EVENT_RESIZE, _text_resize, NULL); - efl_text_properties_font_set(o, "Sans:style=Bold", default_font_size); - efl_gfx_scale_set(text, elm_config_scale_get()); + efl_event_callback_add(o, EFL_GFX_ENTITY_EVENT_RESIZE, _text_resize, NULL); + efl_text_font_set(o, "Sans:style=Bold", default_font_size); + efl_gfx_entity_scale_set(text, elm_config_scale_get()); efl_text_set(o, "EFL"); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); efl_pack(box2, o); o = box2 = efl_add(EFL_UI_BOX_STACK_CLASS, win, @@ -491,7 +491,7 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve // Experimental textblock support o = tb = evas_object_textblock_add(evas_object_evas_get(win)); efl_event_callback_add(o, EFL_CANVAS_TEXT_EVENT_STYLE_INSETS_CHANGED, _textblock_resize, NULL); - efl_event_callback_add(o, EFL_GFX_EVENT_RESIZE, _textblock_resize, NULL); + efl_event_callback_add(o, EFL_GFX_ENTITY_EVENT_RESIZE, _textblock_resize, NULL); Evas_Textblock_Style *st = evas_textblock_style_new(); evas_textblock_style_set(st, "DEFAULT='font=Sans font_size=20 color=#FFF wrap=word'"); for (size_t k = 0; k < EINA_C_ARRAY_LENGTH(programs); k++) @@ -500,7 +500,7 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve efl_gfx_filter_data_set(o, prg_data[k].name, prg_data[k].value, prg_data[k].exec); evas_object_textblock_style_set(o, st); evas_object_textblock_text_markup_set(o, tbtxt); - efl_gfx_scale_set(o, elm_config_scale_get()); + efl_gfx_entity_scale_set(o, elm_config_scale_get()); efl_pack(box2, o); evas_object_resize(o, 1, 1); } @@ -534,5 +534,5 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_spinner_value_set(spinner, 1.0); _spinner_cb(win, spinner, NULL); - efl_gfx_size_set(win, EINA_SIZE2D(500, 600)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 600)); } diff --git a/src/bin/elementary/test_glview.c b/src/bin/elementary/test_glview.c index afd38448e2..6a133e9fd0 100644 --- a/src/bin/elementary/test_glview.c +++ b/src/bin/elementary/test_glview.c @@ -644,7 +644,7 @@ _test_glview_do(Evas_GL_Context_Version version) elm_config_accel_preference_set(accel); eina_stringshare_del(accel); #else - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_name_set(efl_added, "glview"), efl_text_set(efl_added, "GLView"), efl_ui_win_accel_preference_set(efl_added, "gl:depth")); diff --git a/src/bin/elementary/test_icon.c b/src/bin/elementary/test_icon.c index 9fa7dc7afe..ecd810baa9 100644 --- a/src/bin/elementary/test_icon.c +++ b/src/bin/elementary/test_icon.c @@ -626,6 +626,9 @@ _standard_genlist_populate(Evas_Object *gl) IC("flag-vn") IC("flag-za") + CONTEXT("Mimetypes") + IC("inode-directory") + #undef CONTEXT #undef IC diff --git a/src/bin/elementary/test_image.c b/src/bin/elementary/test_image.c index 0dbdbef0b0..e118ef885e 100644 --- a/src/bin/elementary/test_image.c +++ b/src/bin/elementary/test_image.c @@ -99,14 +99,14 @@ im_align_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUS } static const struct { - Efl_Image_Scale_Type scale_type; + Efl_Gfx_Image_Scale_Type scale_type; const char *name; } images_scale_type[] = { - { EFL_IMAGE_SCALE_TYPE_NONE, "None" }, - { EFL_IMAGE_SCALE_TYPE_FILL, "Fill" }, - { EFL_IMAGE_SCALE_TYPE_FIT_INSIDE, "Fit Inside" }, - { EFL_IMAGE_SCALE_TYPE_FIT_OUTSIDE, "Fit Outside" }, - { EFL_IMAGE_SCALE_TYPE_TILE, "Tile" }, + { EFL_GFX_IMAGE_SCALE_TYPE_NONE, "None" }, + { EFL_GFX_IMAGE_SCALE_TYPE_FILL, "Fill" }, + { EFL_GFX_IMAGE_SCALE_TYPE_FIT_INSIDE, "Fit Inside" }, + { EFL_GFX_IMAGE_SCALE_TYPE_FIT_OUTSIDE, "Fit Outside" }, + { EFL_GFX_IMAGE_SCALE_TYPE_TILE, "Tile" }, { 0, NULL } }; @@ -118,9 +118,9 @@ my_im_scale_ch(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_U Evas_Object *rdg = evas_object_data_get(win, "rdg"); int v = elm_radio_value_get(rdg); - efl_image_scale_type_set(im, images_scale_type[v].scale_type); + efl_gfx_image_scale_type_set(im, images_scale_type[v].scale_type); fprintf(stderr, "Set %d[%s] and got %d\n", - images_scale_type[v].scale_type, images_scale_type[v].name, efl_image_scale_type_get(im)); + images_scale_type[v].scale_type, images_scale_type[v].name, efl_gfx_image_scale_type_get(im)); } void diff --git a/src/bin/elementary/test_multibuttonentry.c b/src/bin/elementary/test_multibuttonentry.c index 2d371416a1..e4c3370908 100644 --- a/src/bin/elementary/test_multibuttonentry.c +++ b/src/bin/elementary/test_multibuttonentry.c @@ -3,7 +3,7 @@ #endif #include -static Efl_Ui_Multibuttonentry_Format_Cb format_func = NULL; +static Elm_Multibuttonentry_Format_Cb format_func = NULL; static char * _custom_format(int count, void *data EINA_UNUSED) diff --git a/src/bin/elementary/test_nstate.c b/src/bin/elementary/test_nstate.c index ebc97d4f3c..4da3b21ac9 100644 --- a/src/bin/elementary/test_nstate.c +++ b/src/bin/elementary/test_nstate.c @@ -15,7 +15,7 @@ test_nstate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in { Evas_Object *win, *bx, *nstate; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "N-state widget"), elm_win_autodel_set(efl_added, EINA_TRUE)); @@ -29,5 +29,5 @@ test_nstate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_text_set(nstate, "nstate = 0"); efl_pack(bx, nstate); - efl_gfx_size_set(win, EINA_SIZE2D(120, 80)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(120, 80)); } diff --git a/src/bin/elementary/test_panel.c b/src/bin/elementary/test_panel.c index 41bffedfcc..60ad94edb2 100644 --- a/src/bin/elementary/test_panel.c +++ b/src/bin/elementary/test_panel.c @@ -2,7 +2,6 @@ # include "elementary_config.h" #endif #include -#include #define LIST_ITEM_MAX 20 @@ -87,31 +86,32 @@ _item_del(void *data, Evas_Object *obj EINA_UNUSED) static void _fill_list(Evas_Object *obj, Elm_Genlist_Item_Class *itc) { - DIR *d; - struct dirent *de; Eina_List *l; char *real; - const char *home_env = NULL; unsigned int x = 0; if (!dirs) { - home_env = eina_environment_home_get(); - if (!home_env) return; - if (!(d = opendir(home_env))) return; - while ((de = readdir(d)) && (x < LIST_ITEM_MAX)) + Eina_Iterator *it; + const char *name; + + it = eina_file_ls(eina_environment_home_get()); + EINA_ITERATOR_FOREACH(it, name) { - char buff[PATH_MAX]; - - if (de->d_name[0] == '.') continue; - snprintf(buff, sizeof(buff), "%s/%s", home_env, de->d_name); - - if (!ecore_file_is_dir(buff)) continue; - x++; - real = ecore_file_realpath(buff); - dirs = eina_list_sorted_insert(dirs, EINA_COMPARE_CB(strcoll), real); + if (x >= LIST_ITEM_MAX) + break; + if ((ecore_file_file_get(name)[0] != '.') && + ecore_file_is_dir(name)) + { + x++; + real = ecore_file_realpath(name); + dirs = eina_list_sorted_insert(dirs, + EINA_COMPARE_CB(strcoll), + real); + eina_stringshare_del(name); + } } - closedir(d); + eina_iterator_free(it); } EINA_LIST_FOREACH(dirs, l, real) { @@ -131,25 +131,24 @@ _fill_list(Evas_Object *obj, Elm_Genlist_Item_Class *itc) static Eina_Bool _dir_has_subs(const char *path) { - DIR *d; - struct dirent *de; + Eina_Iterator *it; + const char *name; Eina_Bool result = EINA_FALSE; - if (!path) return result; - if (!(d = opendir(path))) return result; - while ((de = readdir(d))) + it = eina_file_ls(path); + EINA_ITERATOR_FOREACH(it, name) { - char buff[PATH_MAX]; + Eina_Bool is_dir; - if (de->d_name[0] == '.') continue; - snprintf(buff, sizeof(buff), "%s/%s", path, de->d_name); - if (ecore_file_is_dir(buff)) + is_dir = ecore_file_is_dir(name); + eina_stringshare_del(name); + if (is_dir) { result = EINA_TRUE; break; } } - closedir(d); + eina_iterator_free(it); return result; } diff --git a/src/bin/elementary/test_part_bg.c b/src/bin/elementary/test_part_bg.c index 5a68e33c41..111af88de1 100644 --- a/src/bin/elementary/test_part_bg.c +++ b/src/bin/elementary/test_part_bg.c @@ -3,7 +3,7 @@ #endif #include -#define MAX_NUM_OF_CONTENT 19 +#define MAX_NUM_OF_CONTENT 18 const Efl_Class *content_class[MAX_NUM_OF_CONTENT]; @@ -39,7 +39,7 @@ _scale_type_cb(void *data, const Efl_Event *ev EINA_UNUSED) { Evas_Object *radio = data; Evas_Object *target; - Efl_Image_Scale_Type type; + Efl_Gfx_Image_Scale_Type type; char buf[PATH_MAX]; radio = efl_ui_radio_selected_object_get(radio); @@ -47,9 +47,9 @@ _scale_type_cb(void *data, const Efl_Event *ev EINA_UNUSED) snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); efl_file_set(efl_part(target, "background"), buf, NULL); - type = efl_image_scale_type_get(efl_part(target, "background")); + type = efl_gfx_image_scale_type_get(efl_part(target, "background")); type = (type + 1) % 5; - efl_image_scale_type_set(efl_part(target, "background"), type); + efl_gfx_image_scale_type_set(efl_part(target, "background"), type); } static Evas_Object * @@ -77,7 +77,7 @@ _create_box_contents(Evas_Object *box) content = efl_add(EFL_UI_TEXT_CLASS, content, efl_text_set(efl_added, "box"), - efl_ui_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), efl_pack_end(content, efl_added)); for (i = 0; i < MAX_NUM_OF_CONTENT; i++) @@ -126,24 +126,23 @@ test_part_background(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void content_class[0] = EFL_UI_CALENDAR_CLASS; content_class[1] = EFL_UI_SLIDER_CLASS; content_class[2] = EFL_UI_SLIDER_INTERVAL_CLASS; - content_class[3] = EFL_UI_MULTIBUTTONENTRY_CLASS; - content_class[4] = EFL_UI_PROGRESSBAR_CLASS; - content_class[5] = EFL_UI_CLOCK_CLASS; - content_class[6] = EFL_UI_BUTTON_CLASS; - content_class[7] = EFL_UI_CHECK_CLASS; - content_class[8] = EFL_UI_RADIO_CLASS; - content_class[9] = EFL_UI_TEXT_CLASS; - content_class[10] = EFL_UI_FLIP_CLASS; - content_class[11] = EFL_UI_PANES_CLASS; - content_class[12] = EFL_UI_VIDEO_CLASS; - content_class[13] = EFL_UI_BG_WIDGET_CLASS; - content_class[14] = EFL_UI_IMAGE_CLASS; - content_class[15] = EFL_UI_IMAGE_ZOOMABLE_CLASS; - content_class[16] = EFL_UI_NSTATE_CLASS; - content_class[17] = EFL_UI_SPIN_CLASS; - content_class[18] = EFL_UI_SPIN_BUTTON_CLASS; + content_class[3] = EFL_UI_PROGRESSBAR_CLASS; + content_class[4] = EFL_UI_CLOCK_CLASS; + content_class[5] = EFL_UI_BUTTON_CLASS; + content_class[6] = EFL_UI_CHECK_CLASS; + content_class[7] = EFL_UI_RADIO_CLASS; + content_class[8] = EFL_UI_TEXT_CLASS; + content_class[9] = EFL_UI_FLIP_CLASS; + content_class[10] = EFL_UI_PANES_CLASS; + content_class[11] = EFL_UI_VIDEO_CLASS; + content_class[12] = EFL_UI_BG_WIDGET_CLASS; + content_class[13] = EFL_UI_IMAGE_CLASS; + content_class[14] = EFL_UI_IMAGE_ZOOMABLE_CLASS; + content_class[15] = EFL_UI_NSTATE_CLASS; + content_class[16] = EFL_UI_SPIN_CLASS; + content_class[17] = EFL_UI_SPIN_BUTTON_CLASS; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Widget Part Background"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -182,5 +181,5 @@ test_part_background(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_event_callback_add(color_btn, EFL_UI_EVENT_CLICKED, _color_cb, radio_group); efl_event_callback_add(scale_btn, EFL_UI_EVENT_CLICKED, _scale_type_cb, radio_group); - efl_gfx_size_set(win, EINA_SIZE2D(300, 200)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 200)); } diff --git a/src/bin/elementary/test_part_shadow.c b/src/bin/elementary/test_part_shadow.c index a1eee81a4d..2df5f6766b 100644 --- a/src/bin/elementary/test_part_shadow.c +++ b/src/bin/elementary/test_part_shadow.c @@ -2,7 +2,7 @@ # include "elementary_config.h" #endif -#define ELM_WIDGET_PROTECTED +#define EFL_UI_WIDGET_PROTECTED #include typedef struct Test_Data @@ -71,7 +71,7 @@ _delete_cb(void *data, const Efl_Event *ev) Test_Data *td = data; pulse_stop(td, NULL); - efl_del(ev->object); + efl_unref(ev->object); free(td); } @@ -85,7 +85,7 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve td = calloc(1, sizeof(*td)); - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_name_set(efl_added, "shadow"), efl_text_set(efl_added, "Shadow effects")); efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _delete_cb, td); @@ -190,5 +190,5 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve efl_pack(bt_bx, bt); td->btn_stop = bt; - efl_gfx_size_set(win, EINA_SIZE2D(240, 320)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(240, 320)); } diff --git a/src/bin/elementary/test_photocam.c b/src/bin/elementary/test_photocam.c index 58e34e1a31..f6c2e9711b 100644 --- a/src/bin/elementary/test_photocam.c +++ b/src/bin/elementary/test_photocam.c @@ -765,9 +765,9 @@ _zoomable_move_resize_cb(void *data, const Efl_Event *ev) { Eina_Rect r; - r = efl_gfx_geometry_get(ev->object); - efl_gfx_size_set(data, EINA_SIZE2D(r.w, r.h)); - efl_gfx_position_set(data, r.pos); + r = efl_gfx_entity_geometry_get(ev->object); + efl_gfx_entity_size_set(data, EINA_SIZE2D(r.w, r.h)); + efl_gfx_entity_position_set(data, r.pos); } static void @@ -777,7 +777,7 @@ _zoomable_mouse_wheel_cb(void *data, const Efl_Event *e) Efl_Input_Pointer *ev = e->info; int zoom, _zoom, delta, val; - zoom = efl_ui_zoom_get(zoomable); + zoom = efl_ui_zoom_level_get(zoomable); delta = efl_input_pointer_wheel_delta_get(ev); if ((delta > 0) && (zoom == 1)) return; @@ -795,7 +795,7 @@ _zoomable_mouse_wheel_cb(void *data, const Efl_Event *e) } efl_ui_zoom_mode_set(zoomable, EFL_UI_ZOOM_MODE_MANUAL); - if (zoom >= 1) efl_ui_zoom_set(zoomable, zoom); + if (zoom >= 1) efl_ui_zoom_level_set(zoomable, zoom); } void @@ -804,7 +804,7 @@ test_image_zoomable_animated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE Eo *win, *bx, *zoomable, *rect; char buf[PATH_MAX]; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Ui.Image_Zoomable animation"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -815,7 +815,7 @@ test_image_zoomable_animated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE efl_add(EFL_UI_TEXT_CLASS, bx, efl_text_set(efl_added, "Clicking the image will play/pause animation."), - efl_ui_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), efl_gfx_size_hint_weight_set(efl_added, 1, 0), efl_canvas_text_style_set(efl_added, NULL, "DEFAULT='align=center font=Sans font_size=10 color=#fff wrap=word'"), efl_pack(bx, efl_added) @@ -842,8 +842,8 @@ test_image_zoomable_animated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE ); // add move/resize callbacks to resize rect manually - efl_event_callback_add(zoomable, EFL_GFX_EVENT_RESIZE, _zoomable_move_resize_cb, rect); - efl_event_callback_add(zoomable, EFL_GFX_EVENT_MOVE, _zoomable_move_resize_cb, rect); + efl_event_callback_add(zoomable, EFL_GFX_ENTITY_EVENT_RESIZE, _zoomable_move_resize_cb, rect); + efl_event_callback_add(zoomable, EFL_GFX_ENTITY_EVENT_MOVE, _zoomable_move_resize_cb, rect); - efl_gfx_size_set(win, EINA_SIZE2D(300, 320)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 320)); } diff --git a/src/bin/elementary/test_progressbar.c b/src/bin/elementary/test_progressbar.c index 91282c0cde..9b559e129a 100644 --- a/src/bin/elementary/test_progressbar.c +++ b/src/bin/elementary/test_progressbar.c @@ -12,6 +12,7 @@ typedef struct Progressbar_Data Evas_Object *pb5; Evas_Object *pb6; Evas_Object *pb7; + Evas_Object *pb8; Ecore_Timer *timer; Evas_Object *btn_start; Evas_Object *btn_stop; @@ -49,7 +50,9 @@ my_progressbar_test_start(void *data, Evas_Object *obj EINA_UNUSED, void *event_ elm_progressbar_pulse(pd->pb5, EINA_TRUE); fprintf(stderr, "s3 %p\n", pd->pb7); elm_progressbar_pulse(pd->pb7, EINA_TRUE); - fprintf(stderr, "s4\n"); + fprintf(stderr, "s4 %p\n", pd->pb8); + elm_progressbar_pulse(pd->pb8, EINA_TRUE); + fprintf(stderr, "s5\n"); elm_object_disabled_set(pd->btn_start, EINA_TRUE); elm_object_disabled_set(pd->btn_stop, EINA_FALSE); @@ -67,6 +70,7 @@ my_progressbar_test_stop(void *data, Evas_Object *obj EINA_UNUSED, void *event_i elm_progressbar_pulse(pd->pb2, EINA_FALSE); elm_progressbar_pulse(pd->pb5, EINA_FALSE); elm_progressbar_pulse(pd->pb7, EINA_FALSE); + elm_progressbar_pulse(pd->pb8, EINA_FALSE); elm_object_disabled_set(pd->btn_start, EINA_FALSE); elm_object_disabled_set(pd->btn_stop, EINA_TRUE); @@ -105,7 +109,7 @@ void test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2; - char buf[PATH_MAX]; + char buf[PATH_MAX], form[20]; Progressbar_Data *pd; pd = (Progressbar_Data *)calloc(1, sizeof(Progressbar_Data)); @@ -164,11 +168,15 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_box_pack_end(bx, hbx); evas_object_show(hbx); + snprintf(form, sizeof(form), "%d percent (%d%%%%)", 50, 50); + pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(hbx, pb); + elm_progressbar_unit_format_set(pb, form); + elm_progressbar_value_set(pb, .50); elm_object_text_set(pb, "percent"); evas_object_show(pb); pd->pb4 = pb; @@ -213,6 +221,17 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve evas_object_show(pb); pd->pb7 = pb; + pb = elm_progressbar_add(win); + elm_progressbar_horizontal_set(pb, EINA_FALSE); + elm_object_style_set(pb, "wheel"); + elm_object_text_set(pb, "Style: wheel vert"); + elm_progressbar_pulse_set(pb, EINA_TRUE); + evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); + elm_box_pack_end(bx, pb); + evas_object_show(pb); + pd->pb8 = pb; + bt_bx = elm_box_add(win); elm_box_horizontal_set(bt_bx, EINA_TRUE); evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); diff --git a/src/bin/elementary/test_scroller.c b/src/bin/elementary/test_scroller.c index ead5bbca34..a6670c6613 100644 --- a/src/bin/elementary/test_scroller.c +++ b/src/bin/elementary/test_scroller.c @@ -494,8 +494,8 @@ _bounce_cb(void *data) if (!bounce->y1) { elm_interface_scrollable_bounce_allow_set(bounce->scroller, 0, 1); - bounce->y1 = efl_gfx_position_get(bounce->it1).y; - bounce->y2 = efl_gfx_position_get(bounce->it2).y; + bounce->y1 = efl_gfx_entity_position_get(bounce->it1).y; + bounce->y2 = efl_gfx_entity_position_get(bounce->it2).y; } bounce->state++; @@ -522,8 +522,8 @@ _bounce_cb(void *data) unsigned long long tll, t0ll, tdll, frames; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t); - t0ll = (t0.tv_sec * 1000000000) + t0.tv_nsec; - tll = (t.tv_sec * 1000000000) + t.tv_nsec; + t0ll = ((unsigned long long) t0.tv_sec * 1000000000ULL) + t0.tv_nsec; + tll = ((unsigned long long) t.tv_sec * 1000000000ULL) + t.tv_nsec; tdll = tll - t0ll; frames = bounce->frames ?: 1; printf("NS since frame 2 = %llu , %llu frames = %llu / frame\n", diff --git a/src/bin/elementary/test_ui_box.c b/src/bin/elementary/test_ui_box.c index dcaacebb4d..effa539463 100644 --- a/src/bin/elementary/test_ui_box.c +++ b/src/bin/elementary/test_ui_box.c @@ -178,7 +178,7 @@ _custom_layout_update(Eo *pack, const void *data EINA_UNUSED) if (!count) return; - rp = efl_gfx_geometry_get(pack); + rp = efl_gfx_entity_geometry_get(pack); EINA_ITERATOR_FOREACH(it, sobj) { Eina_Rect r; @@ -186,7 +186,7 @@ _custom_layout_update(Eo *pack, const void *data EINA_UNUSED) r.x = (rp.w / count) * i; r.y = (rp.h / count) * i; r.size = efl_gfx_size_hint_combined_min_get(sobj); - efl_gfx_geometry_set(sobj, r); + efl_gfx_entity_geometry_set(sobj, r); i++; } eina_iterator_free(it); @@ -219,7 +219,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in win = elm_win_util_standard_add("ui-box", "Efl.Ui.Box"); elm_win_autodel_set(win, EINA_TRUE); - efl_gfx_size_set(win, EINA_SIZE2D(600, 400)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(600, 400)); vbox = efl_add(EFL_UI_BOX_CLASS, win, efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); @@ -234,7 +234,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_gfx_size_hint_align_set(f, -1, -1); efl_gfx_size_hint_weight_set(f, 1, 0); efl_pack(vbox, f); - efl_gfx_visible_set(f, 1); + efl_gfx_entity_visible_set(f, 1); hbox = efl_add(EFL_UI_BOX_CLASS, win, efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); @@ -254,7 +254,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_gfx_size_hint_align_set(o, 0, 0.5); elm_radio_state_value_set(o, NONE); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "No weight + box fill"); @@ -263,7 +263,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_radio_state_value_set(o, NONE_BUT_FILL); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "Equal weights"); @@ -272,7 +272,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_radio_state_value_set(o, EQUAL); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "One weight only"); @@ -281,7 +281,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_radio_state_value_set(o, ONE); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "Two weights"); @@ -290,7 +290,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_radio_state_value_set(o, TWO); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); elm_radio_value_set(chk, NONE); @@ -305,7 +305,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in o = elm_label_add(win); elm_object_text_set(o, "Misc"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_check_add(win); elm_check_selected_set(o, 0); @@ -313,7 +313,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, flow_check_cb, win); efl_gfx_size_hint_align_set(o, 0, 0); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_check_add(win); elm_check_selected_set(o, 1); @@ -321,7 +321,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, horiz_check_cb, win); efl_gfx_size_hint_align_set(o, 0, 0); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_check_add(win); elm_check_selected_set(o, 0); @@ -329,7 +329,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, homo_check_cb, win); efl_gfx_size_hint_align_set(o, 0, 0); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_check_add(win); elm_check_selected_set(o, 0); @@ -337,7 +337,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_event_callback_add(o, EFL_UI_CHECK_EVENT_CHANGED, max_size_check_cb, win); efl_gfx_size_hint_align_set(o, 0, 0); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_check_add(win); elm_check_selected_set(o, 0); @@ -346,7 +346,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_gfx_size_hint_align_set(o, 0, 0); efl_gfx_size_hint_weight_set(o, 0, 1); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* user min size setter */ @@ -359,7 +359,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in o = elm_label_add(win); elm_object_text_set(o, "User min size"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.0fpx"); @@ -372,7 +372,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_inverted_set(o, 1); elm_slider_value_set(o, 0); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* inner box padding */ @@ -385,7 +385,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in o = elm_label_add(win); elm_object_text_set(o, "Padding"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.0fpx"); @@ -398,7 +398,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_inverted_set(o, 1); elm_slider_value_set(o, 10); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* outer margin */ @@ -411,7 +411,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in o = elm_label_add(win); elm_object_text_set(o, "Margin"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.0fpx"); @@ -424,7 +424,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_inverted_set(o, 1); elm_slider_value_set(o, 10); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* Box align */ @@ -437,7 +437,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in o = elm_label_add(win); elm_object_text_set(o, "Box align"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.1f"); @@ -450,7 +450,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_step_set(o, 0.1); elm_slider_value_set(o, 0.5); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.1f"); @@ -464,7 +464,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_step_set(o, 0.1); elm_slider_value_set(o, 0.5); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* contents */ @@ -473,7 +473,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in efl_gfx_size_hint_align_set(f, -1, -1); efl_gfx_size_hint_weight_set(f, 1, 1); efl_pack(vbox, f); - efl_gfx_visible_set(f, 1); + efl_gfx_entity_visible_set(f, 1); bx = efl_add(EFL_UI_BOX_CLASS, win, efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); @@ -486,65 +486,65 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Btn1"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Button 2"); efl_gfx_size_hint_align_set(o, -1, -1); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_label_add(win); elm_label_line_wrap_set(o, ELM_WRAP_WORD); elm_object_text_set(o, "This label is not marked as fill"); efl_gfx_size_hint_align_set(o, 0.5, 0.5); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Min size"); efl_gfx_size_hint_align_set(o, 0.5, 1.0); efl_gfx_size_hint_aspect_set(o, EFL_GFX_SIZE_HINT_ASPECT_BOTH, EINA_SIZE2D(1, 1)); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Quit!"); efl_gfx_size_hint_align_set(o, 0.5, 0.0); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_label_add(win); elm_label_line_wrap_set(o, ELM_WRAP_WORD); elm_object_text_set(o, "This label on the other hand
is marked as align=fill."); efl_gfx_size_hint_align_set(o, -1, -1); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Button with a quite long text."); efl_gfx_size_hint_align_set(o, -1, -1); efl_gfx_size_hint_max_set(o, EINA_SIZE2D(200, 100)); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "BtnA"); efl_gfx_size_hint_aspect_set(o, EFL_GFX_SIZE_HINT_ASPECT_BOTH, EINA_SIZE2D(1, 2)); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "BtnB"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "BtnC"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); assert(i == CNT); - efl_gfx_visible_set(win, 1); + efl_gfx_entity_visible_set(win, 1); } diff --git a/src/bin/elementary/test_ui_button.c b/src/bin/elementary/test_ui_button.c new file mode 100644 index 0000000000..f5aa340ad6 --- /dev/null +++ b/src/bin/elementary/test_ui_button.c @@ -0,0 +1,78 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#include + +static void +_clicked(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) +{ + printf("Button is clicked!!!\n"); +} + +static void +_pressed(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) +{ + printf("Button is pressed!!!\n"); +} + +static void +_unpressed(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) +{ + printf("Button is unpressed!!!\n"); +} + +void +test_ui_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *bx, *btn; + char buf[PATH_MAX]; + + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_text_set(efl_added, "Efl.Ui.Button"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE) + ); + + bx = efl_add(EFL_UI_BOX_CLASS, win, + efl_content_set(win, efl_added), + efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); + + // Text Only Button + efl_add(EFL_UI_BUTTON_CLASS, bx, + efl_text_set(efl_added, "Text"), + efl_pack(bx, efl_added), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _clicked, NULL), + efl_event_callback_add(efl_added, EFL_UI_EVENT_PRESSED, _pressed, NULL), + efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL) + ); + + // Icon Only Button + snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); + btn = efl_add(EFL_UI_BUTTON_CLASS, bx, + efl_pack(bx, efl_added), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _clicked, NULL), + efl_event_callback_add(efl_added, EFL_UI_EVENT_PRESSED, _pressed, NULL), + efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL) + ); + efl_add(EFL_UI_IMAGE_CLASS, btn, + efl_file_set(efl_added, buf, NULL), + efl_content_set(btn, efl_added) + ); + + // Text + Icon Button + snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); + btn = efl_add(EFL_UI_BUTTON_CLASS, bx, + efl_text_set(efl_added, "Text + Icon"), + efl_pack(bx, efl_added), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _clicked, NULL), + efl_event_callback_add(efl_added, EFL_UI_EVENT_PRESSED, _pressed, NULL), + efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL) + ); + efl_add(EFL_UI_IMAGE_CLASS, btn, + efl_file_set(efl_added, buf, NULL), + efl_content_set(btn, efl_added) + ); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400)); +} + diff --git a/src/bin/elementary/test_ui_clock.c b/src/bin/elementary/test_ui_clock.c index ad401c3bc9..2e667b5026 100644 --- a/src/bin/elementary/test_ui_clock.c +++ b/src/bin/elementary/test_ui_clock.c @@ -47,7 +47,7 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ { Evas_Object *win, *bx; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Ui.Clock"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); diff --git a/src/bin/elementary/test_ui_datepicker.c b/src/bin/elementary/test_ui_datepicker.c new file mode 100644 index 0000000000..1eb04612b1 --- /dev/null +++ b/src/bin/elementary/test_ui_datepicker.c @@ -0,0 +1,37 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#include + +static void +_date_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev) +{ + int year, month, day; + + efl_ui_datepicker_date_get(ev->object, &year, &month, &day); + printf("Current date is %d %d %d\n", year, month, day); +} + +void +test_ui_datepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *bx; + + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_text_set(efl_added, "Efl.Ui.Datepicker"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + + bx = efl_add(EFL_UI_BOX_CLASS, win, + efl_content_set(win, efl_added), + efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); + + efl_add(EFL_UI_DATEPICKER_CLASS, bx, + efl_ui_datepicker_date_set(efl_added, 1987, 9, 17), + efl_ui_datepicker_max_set(efl_added, 1990, 9, 17), + efl_ui_datepicker_min_set(efl_added, 1980, 9, 17), + efl_event_callback_add(efl_added, EFL_UI_DATEPICKER_EVENT_CHANGED,_date_changed_cb, NULL), + efl_pack(bx, efl_added)); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(150, 170)); +} diff --git a/src/bin/elementary/test_ui_panes.c b/src/bin/elementary/test_ui_panes.c index 58a70f3c33..4e6d3373e0 100644 --- a/src/bin/elementary/test_ui_panes.c +++ b/src/bin/elementary/test_ui_panes.c @@ -8,7 +8,7 @@ test_panes_minsize(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e { Eo *win, *panes, *panes_h; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Ui.Panes"), efl_ui_win_autodel_set(efl_added, EINA_TRUE) @@ -42,6 +42,6 @@ test_panes_minsize(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_content_set(efl_part(panes_h, "second"), efl_added) ); - efl_gfx_size_set(win, EINA_SIZE2D(320, 400)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400)); } diff --git a/src/bin/elementary/test_ui_popup.c b/src/bin/elementary/test_ui_popup.c index e94c1b69ba..3c8ae67239 100644 --- a/src/bin/elementary/test_ui_popup.c +++ b/src/bin/elementary/test_ui_popup.c @@ -50,7 +50,7 @@ _create_popup(efl_ui_popup_data *p_data) if (p_data->efl_ui_popup) { printf("Efl.Ui.Popup is already created.\n"); - efl_gfx_visible_set(p_data->efl_ui_popup, EINA_TRUE); + efl_gfx_entity_visible_set(p_data->efl_ui_popup, EINA_TRUE); return p_data->efl_ui_popup; } @@ -124,14 +124,14 @@ _dummy_cb(void *data EINA_UNUSED, const Efl_Event *ev) { efl_ui_popup_data *p_data = data; if (!p_data->efl_ui_popup) return; - if (!efl_gfx_visible_get(p_data->button)) + if (!efl_gfx_entity_visible_get(p_data->button)) { - efl_gfx_visible_set(p_data->button, EINA_TRUE); + efl_gfx_entity_visible_set(p_data->button, EINA_TRUE); efl_text_set(ev->object, "Hide Dummy Button"); } else { - efl_gfx_visible_set(p_data->button, EINA_FALSE); + efl_gfx_entity_visible_set(p_data->button, EINA_FALSE); efl_text_set(ev->object, "Show Dummy Button"); } } @@ -181,7 +181,7 @@ _position_set_cb(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) { efl_ui_popup_data *p_data = data; if (!p_data->efl_ui_popup) return; - efl_gfx_position_set(p_data->efl_ui_popup, EINA_POSITION2D(0, 0)); + efl_gfx_entity_position_set(p_data->efl_ui_popup, EINA_POSITION2D(0, 0)); } static void @@ -213,7 +213,7 @@ static void _win_del(void *data, const Efl_Event *ev EINA_UNUSED) { efl_ui_popup_data *p_data = data; - efl_del(p_data->panel_win); + efl_unref(p_data->panel_win); free(p_data); printf("window is deleted\n"); } @@ -222,7 +222,7 @@ static void _panel_win_del(void *data, const Efl_Event *ev EINA_UNUSED) { efl_ui_popup_data *p_data = data; - efl_del(p_data->win); + efl_unref(p_data->win); free(p_data); printf("window is deleted\n"); } @@ -232,26 +232,26 @@ test_ui_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ { efl_ui_popup_data *p_data = (efl_ui_popup_data*)calloc(1, sizeof(efl_ui_popup_data)); - Eo *win = efl_add(EFL_UI_WIN_CLASS, NULL, + Eo *win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl.Ui.Popup"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _win_del, p_data); - efl_gfx_size_set(win, EINA_SIZE2D(500, 500)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 500)); - Eo *panel_win = efl_add(EFL_UI_WIN_CLASS, NULL, + Eo *panel_win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl.Ui.Popup Panel"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); efl_event_callback_add(panel_win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _panel_win_del, p_data); - efl_gfx_size_set(panel_win, EINA_SIZE2D(300, 500)); + efl_gfx_entity_size_set(panel_win, EINA_SIZE2D(300, 500)); Eo *repeat_test_btn = efl_add(EFL_UI_BUTTON_CLASS, win); - efl_gfx_position_set(repeat_test_btn, EINA_POSITION2D(0, 0)); - efl_gfx_size_set(repeat_test_btn, EINA_SIZE2D(100, 100)); + efl_gfx_entity_position_set(repeat_test_btn, EINA_POSITION2D(0, 0)); + efl_gfx_entity_size_set(repeat_test_btn, EINA_SIZE2D(100, 100)); efl_text_set(repeat_test_btn, "Repeat Event Test"); efl_event_callback_add(repeat_test_btn, EFL_UI_EVENT_CLICKED, _repeat_test_cb, NULL); - efl_gfx_visible_set(repeat_test_btn, EINA_FALSE); + efl_gfx_entity_visible_set(repeat_test_btn, EINA_FALSE); p_data->win = win; p_data->panel_win = panel_win; @@ -260,74 +260,74 @@ test_ui_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ Eo *create_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(create_btn, "Create Popup"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 0)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 0)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _create_cb, p_data); Eo *delete_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(delete_btn, "Delete Popup"); - efl_gfx_position_set(delete_btn, EINA_POSITION2D(150, 0)); - efl_gfx_size_set(delete_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(delete_btn, EINA_POSITION2D(150, 0)); + efl_gfx_entity_size_set(delete_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(delete_btn, EFL_UI_EVENT_CLICKED, _delete_cb, p_data); Eo *repeat_event_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(repeat_event_btn, "Repeat Event Set"); - efl_gfx_position_set(repeat_event_btn, EINA_POSITION2D(0, 50)); - efl_gfx_size_set(repeat_event_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(repeat_event_btn, EINA_POSITION2D(0, 50)); + efl_gfx_entity_size_set(repeat_event_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(repeat_event_btn, EFL_UI_EVENT_CLICKED, _repeat_event_cb, p_data); Eo *dummy_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(dummy_btn, "Show Dummy Button"); - efl_gfx_position_set(dummy_btn, EINA_POSITION2D(150, 50)); - efl_gfx_size_set(dummy_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(dummy_btn, EINA_POSITION2D(150, 50)); + efl_gfx_entity_size_set(dummy_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(dummy_btn, EFL_UI_EVENT_CLICKED, _dummy_cb, p_data); Eo *backwall_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); - efl_gfx_position_set(backwall_btn, EINA_POSITION2D(0, 100)); - efl_gfx_size_set(backwall_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(backwall_btn, EINA_POSITION2D(0, 100)); + efl_gfx_entity_size_set(backwall_btn, EINA_SIZE2D(150, 50)); efl_text_set(backwall_btn, "Backwall Set"); efl_event_callback_add(backwall_btn, EFL_UI_EVENT_CLICKED, _backwall_cb, p_data); Eo *timeout_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(timeout_btn, "Timeout Set"); - efl_gfx_position_set(timeout_btn, EINA_POSITION2D(150, 100)); - efl_gfx_size_set(timeout_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(timeout_btn, EINA_POSITION2D(150, 100)); + efl_gfx_entity_size_set(timeout_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(timeout_btn, EFL_UI_EVENT_CLICKED, _timeout_set_cb, p_data); Eo *center_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(center_btn, "Center Align"); - efl_gfx_position_set(center_btn, EINA_POSITION2D(0, 150)); - efl_gfx_size_set(center_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(center_btn, EINA_POSITION2D(0, 150)); + efl_gfx_entity_size_set(center_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(center_btn, EFL_UI_EVENT_CLICKED, _center_align_cb, p_data); Eo *top_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(top_btn, "Top Align"); - efl_gfx_position_set(top_btn, EINA_POSITION2D(150, 150)); - efl_gfx_size_set(top_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(top_btn, EINA_POSITION2D(150, 150)); + efl_gfx_entity_size_set(top_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(top_btn, EFL_UI_EVENT_CLICKED, _top_align_cb, p_data); Eo *left_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(left_btn, "Left Align"); - efl_gfx_position_set(left_btn, EINA_POSITION2D(0, 200)); - efl_gfx_size_set(left_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(left_btn, EINA_POSITION2D(0, 200)); + efl_gfx_entity_size_set(left_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(left_btn, EFL_UI_EVENT_CLICKED, _left_align_cb, p_data); Eo *right_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(right_btn, "Right Align"); - efl_gfx_position_set(right_btn, EINA_POSITION2D(150, 200)); - efl_gfx_size_set(right_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(right_btn, EINA_POSITION2D(150, 200)); + efl_gfx_entity_size_set(right_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(right_btn, EFL_UI_EVENT_CLICKED, _right_align_cb, p_data); Eo *bottom_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(bottom_btn, "Bottom Align"); - efl_gfx_position_set(bottom_btn, EINA_POSITION2D(0, 250)); - efl_gfx_size_set(bottom_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(bottom_btn, EINA_POSITION2D(0, 250)); + efl_gfx_entity_size_set(bottom_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(bottom_btn, EFL_UI_EVENT_CLICKED, _bottom_align_cb, p_data); Eo *position_btn = efl_add(EFL_UI_BUTTON_CLASS, panel_win); efl_text_set(position_btn, "Position Set (x:0, y:0)"); - efl_gfx_position_set(position_btn, EINA_POSITION2D(150, 250)); - efl_gfx_size_set(position_btn, EINA_SIZE2D(150, 50)); + efl_gfx_entity_position_set(position_btn, EINA_POSITION2D(150, 250)); + efl_gfx_entity_size_set(position_btn, EINA_SIZE2D(150, 50)); efl_event_callback_add(position_btn, EFL_UI_EVENT_CLICKED, _position_set_cb, p_data); } @@ -351,19 +351,19 @@ test_ui_popup_alert(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * { char buf[PATH_MAX]; - Eo *win = efl_add(EFL_UI_WIN_CLASS, NULL, + Eo *win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl.Ui.Popup.Alert"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); - efl_gfx_size_set(win, EINA_SIZE2D(320, 320)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 320)); Eo *efl_ui_popup = efl_add(EFL_UI_POPUP_ALERT_CLASS, win); efl_text_set(efl_part(efl_ui_popup, "title"), "title"); - efl_gfx_size_set(efl_ui_popup, EINA_SIZE2D(160, 160)); + efl_gfx_entity_size_set(efl_ui_popup, EINA_SIZE2D(160, 160)); - Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); + Eo *layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, efl_ui_popup); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); @@ -384,7 +384,7 @@ _alert_scroll_case1_cb(void *data, const Efl_Event *ev EINA_UNUSED) efl_text_set(efl_part(efl_ui_popup, "title"), "title"); - Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); + Eo *layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, efl_ui_popup); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); @@ -408,7 +408,7 @@ _alert_scroll_case2_cb(void *data, const Efl_Event *ev EINA_UNUSED) efl_text_set(efl_part(efl_ui_popup, "title"), "title"); - Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); + Eo *layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, efl_ui_popup); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); @@ -434,7 +434,7 @@ _alert_scroll_case3_cb(void *data, const Efl_Event *ev EINA_UNUSED) efl_text_set(efl_part(efl_ui_popup, "title"), "title"); - Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); + Eo *layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, efl_ui_popup); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); @@ -460,7 +460,7 @@ _alert_scroll_case4_cb(void *data, const Efl_Event *ev EINA_UNUSED) efl_text_set(efl_part(efl_ui_popup, "title"), "title"); - Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); + Eo *layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, efl_ui_popup); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); @@ -486,7 +486,7 @@ _alert_scroll_case5_cb(void *data, const Efl_Event *ev EINA_UNUSED) efl_text_set(efl_part(efl_ui_popup, "title"), "title"); - Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup); + Eo *layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, efl_ui_popup); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); efl_file_set(layout, buf, "efl_ui_popup_scroll_content"); @@ -506,40 +506,40 @@ _alert_scroll_case5_cb(void *data, const Efl_Event *ev EINA_UNUSED) void test_ui_popup_alert_scroll(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Eo *win = efl_add(EFL_UI_WIN_CLASS, NULL, + Eo *win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl.Ui.Popup.Alert.Scroll"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); - efl_gfx_size_set(win, EINA_SIZE2D(500, 500)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 500)); Eo *create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "1. size(160,160), content(200, 200), expand(-1, -1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 0)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 0)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_scroll_case1_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "2. size(160,160), content(200, 200), expand(320, -1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 50)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 50)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_scroll_case2_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "3. size(160,160), content(200, 200), expand(-1, 320)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 100)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 100)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_scroll_case3_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "4. size(160,160), content(200, 200), expand(320, 320)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 150)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 150)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_scroll_case4_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "5. size(160,160), content(200, 200), expand(80, 80)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 200)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 200)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_scroll_case5_cb, win); } @@ -889,94 +889,94 @@ _alert_text_case14_cb(void *data, const Efl_Event *ev EINA_UNUSED) void test_ui_popup_alert_text(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Eo *win = efl_add(EFL_UI_WIN_CLASS, NULL, + Eo *win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl.Ui.Popup.Alert.Text"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); - efl_gfx_size_set(win, EINA_SIZE2D(500, 700)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 700)); Eo *create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "1. size(200,200), text(short), expand(-1,-1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 0)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 0)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case1_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "2. size(200,200), text(long), expand(-1,-1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 50)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 50)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case2_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "3. size(200,200), text(short), expand(300,300)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 100)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 100)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case3_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "4. size(200,200), text(short), expand(300,-1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 150)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 150)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case4_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "5. size(200,200), text(short), expand(-1,300)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 200)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 200)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case5_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "6. size(200,200), text(long), expand(300,300)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 250)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 250)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case6_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "7. size(200,200), text(long), expand(300,-1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 300)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 300)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case7_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "8. size(200,200), text(long), expand(-1,300)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 350)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 350)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case8_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "9. size(200,200), text(long), expand(10, 10)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 400)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 400)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case9_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "10. size(200,200), text(long), expand(150,150)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 450)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 450)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case10_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "11. size(200,200), text(long), expand(150,-1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 500)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 500)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case11_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "12. size(200,200), text(long), expand(300,-1)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 550)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 550)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case12_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "13. size(200,200), text(long), expand(-1,150)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 600)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 600)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case13_cb, win); create_btn = efl_add(EFL_UI_BUTTON_CLASS, win); efl_text_set(create_btn, "14. size(200,200), text(long), expand(-1,300)"); - efl_gfx_position_set(create_btn, EINA_POSITION2D(0, 650)); - efl_gfx_size_set(create_btn, EINA_SIZE2D(500, 50)); + efl_gfx_entity_position_set(create_btn, EINA_POSITION2D(0, 650)); + efl_gfx_entity_size_set(create_btn, EINA_SIZE2D(500, 50)); efl_event_callback_add(create_btn, EFL_UI_EVENT_CLICKED, _alert_text_case14_cb, win); } @@ -999,14 +999,14 @@ test_ui_popup_anchor(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void char buf[PATH_MAX]; - Eo *win = efl_add(EFL_UI_WIN_CLASS, NULL, + Eo *win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_text_set(efl_added, "Efl.Ui.Popup.Anchor"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _win_del, p_data); - efl_gfx_size_set(win, EINA_SIZE2D(500, 500)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 500)); - Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win); + Eo *layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, win); snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); efl_file_set(layout, buf, "efl_ui_popup_anchor_layout"); efl_gfx_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -1023,8 +1023,8 @@ test_ui_popup_anchor(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void EFL_UI_POPUP_ALIGN_RIGHT, EFL_UI_POPUP_ALIGN_CENTER); - efl_gfx_position_set(efl_ui_popup, EINA_POSITION2D(80, 80)); - efl_gfx_size_set(efl_ui_popup, EINA_SIZE2D(160, 120)); + efl_gfx_entity_position_set(efl_ui_popup, EINA_POSITION2D(80, 80)); + efl_gfx_entity_size_set(efl_ui_popup, EINA_SIZE2D(160, 120)); p_data->win = win; p_data->efl_ui_popup = efl_ui_popup; diff --git a/src/bin/elementary/test_ui_progressbar.c b/src/bin/elementary/test_ui_progressbar.c new file mode 100644 index 0000000000..09a0e704c0 --- /dev/null +++ b/src/bin/elementary/test_ui_progressbar.c @@ -0,0 +1,178 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#include + +typedef struct _pbdata +{ + Eo *win; + Eo *pb1; + Eo *pb2; + Eo *btn_start; + Eo *btn_stop; + Eo *btn_reset; + Ecore_Timer *timer; +} pbdata; + +static Eina_Bool +_set_progress_val(Eo *pb, double inc_value) +{ + double progress; + + progress = efl_ui_range_value_get(pb); + + if (progress < 100.0) + progress += inc_value; + else + return EINA_TRUE; + + efl_ui_range_value_set(pb, progress); + + return EINA_FALSE; +} + +static Eina_Bool +_pb_timer_cb(void *d) +{ + pbdata *pd = d; + double progress_val; + + if (!pd) return ECORE_CALLBACK_CANCEL; + + progress_val = efl_ui_range_value_get(pd->pb1); + if (progress_val < 100.0) + { + progress_val += 1; + efl_ui_range_value_set(pd->pb2, progress_val); + } + + if (!_set_progress_val(pd->pb1, 0.5)) + return ECORE_CALLBACK_RENEW; + + pd->timer = NULL; + return ECORE_CALLBACK_CANCEL; +} + +static void +_start_btn_clicked_cb(void *d, const Efl_Event *ev EINA_UNUSED) +{ + pbdata *pd = d; + + if (!pd) return; + + printf("start button is clicked\n"); + + efl_ui_widget_disabled_set(pd->btn_start, EINA_TRUE); + efl_ui_widget_disabled_set(pd->btn_stop, EINA_FALSE); + + if (!pd->timer) pd->timer = ecore_timer_add(0.1, _pb_timer_cb, pd); +} + +static void +_stop_btn_clicked_cb(void *d, const Efl_Event *ev EINA_UNUSED) +{ + pbdata *pd = d; + + if (!pd) return; + printf("stop button is clicked\n"); + + efl_ui_widget_disabled_set(pd->btn_start, EINA_FALSE); + efl_ui_widget_disabled_set(pd->btn_stop, EINA_TRUE); + + if (pd->timer) + { + ecore_timer_del(pd->timer); + pd->timer = NULL; + } +} + +static void +_reset_btn_clicked_cb(void *d, const Efl_Event *ev EINA_UNUSED) +{ + pbdata *pd = d; + + if (!pd) return; + printf("reset button is clicked\n"); + + efl_ui_range_value_set(pd->pb1, 0.0); + efl_ui_range_value_set(pd->pb2, 0.0); +} + +static void +_win_delete_req_cb(void *d, const Efl_Event *ev EINA_UNUSED) +{ + pbdata *pd = d; + + if (pd->timer) ecore_timer_del(pd->timer); + efl_unref(pd->win); + free(pd); +} + +void +test_ui_progressbar(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *bx, *btbx; + pbdata *pd; + char buf[PATH_MAX]; + + pd = (pbdata *)calloc(1, sizeof(pbdata)); + + pd->win = win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_text_set(efl_added, "Efl.Ui.Progressbar"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE), + efl_event_callback_add(efl_added, EFL_UI_WIN_EVENT_DELETE_REQUEST, + _win_delete_req_cb, pd) + ); + + bx = efl_add(EFL_UI_BOX_CLASS, win, + efl_content_set(win, efl_added) + ); + + pd->pb1 = efl_add(EFL_UI_PROGRESSBAR_CLASS, bx, + efl_pack(bx, efl_added), + efl_text_set(efl_added, "percent"), + efl_ui_range_min_max_set(efl_added, 0, 100), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(250, 20)) + ); + + snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); + efl_add(EFL_UI_IMAGE_CLASS, pd->pb1, + efl_file_set(efl_added, buf, NULL), + efl_content_set(pd->pb1, efl_added) + ); + + pd->pb2 = efl_add(EFL_UI_PROGRESSBAR_CLASS, bx, + efl_pack(bx, efl_added), + efl_text_set(efl_added, "10-100"), + efl_ui_progressbar_pulse_set(efl_added, EINA_TRUE), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(250, 20)), + efl_ui_range_min_max_set(efl_added, 10, 100), + efl_ui_range_value_set(efl_added, 10) + ); + + btbx = efl_add(EFL_UI_BOX_CLASS, bx, + efl_pack(bx, efl_added), + efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL) + ); + + pd->btn_start = efl_add(EFL_UI_BUTTON_CLASS, btbx, + efl_text_set(efl_added, "start"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, + _start_btn_clicked_cb, pd), + efl_pack(btbx, efl_added) + ); + + pd->btn_stop = efl_add(EFL_UI_BUTTON_CLASS, btbx, + efl_text_set(efl_added, "stop"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, + _stop_btn_clicked_cb, pd), + efl_pack(btbx, efl_added) + ); + pd->btn_reset = efl_add(EFL_UI_BUTTON_CLASS, btbx, + efl_text_set(efl_added, "reset"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, + _reset_btn_clicked_cb, pd), + efl_pack(btbx, efl_added) + ); +} diff --git a/src/bin/elementary/test_ui_scroller.c b/src/bin/elementary/test_ui_scroller.c index 275e9ee045..3edc6868bf 100644 --- a/src/bin/elementary/test_ui_scroller.c +++ b/src/bin/elementary/test_ui_scroller.c @@ -28,11 +28,11 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void Eo *win, *sc, *sc2, *sc3, *bx, *bx2, *gd, *gd2; int i, j; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl Ui Scroller"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); - efl_gfx_size_set(win, EINA_SIZE2D(320, 400)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400)); sc = efl_add(EFL_UI_SCROLLER_CLASS, win, efl_gfx_size_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), @@ -46,6 +46,9 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_gfx_size_hint_align_set(efl_added, EVAS_HINT_FILL, 0), efl_content_set(sc, efl_added)); + efl_add(EFL_UI_SLIDER_CLASS, bx, + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(160, 0)), + efl_pack(bx, efl_added)); for (i = 0; i < 3; i++) { diff --git a/src/bin/elementary/test_ui_slider.c b/src/bin/elementary/test_ui_slider.c index 8fe7047778..9f54a9d365 100644 --- a/src/bin/elementary/test_ui_slider.c +++ b/src/bin/elementary/test_ui_slider.c @@ -32,7 +32,7 @@ test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event Eo *win, *bx, *hbx; double step; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Ui.Slider"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -40,81 +40,93 @@ test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event bx = efl_add(EFL_UI_BOX_CLASS, win, efl_content_set(win, efl_added)); - efl_add(EFL_UI_SLIDER_CLASS, bx, + efl_add(EFL_UI_TEXT_CLASS, bx, efl_text_set(efl_added, "Horizontal"), - efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), - EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_NONE), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, bx, efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(160, 0)), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.5f"), + efl_gfx_size_hint_weight_set(efl_added, EVAS_HINT_EXPAND, 0.0), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Horizontal Inverted"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, bx, + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(160, 0)), + efl_gfx_size_hint_weight_set(efl_added, EVAS_HINT_EXPAND, 0.0), + efl_ui_direction_set(efl_added, EFL_UI_DIR_LEFT), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Manual step"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), efl_pack(bx, efl_added)); step = _step_size_calculate(0, 9); efl_add(EFL_UI_SLIDER_CLASS, bx, - efl_text_set(efl_added, "Manual step"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), - efl_ui_format_string_set(efl_added, "%1.1f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.1f"), - efl_ui_slider_step_set(efl_added, step), + efl_gfx_size_hint_align_set(efl_added, 0.5, 0.5), + efl_ui_range_step_set(efl_added, step), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Disabled"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), efl_pack(bx, efl_added)); efl_add(EFL_UI_SLIDER_CLASS, bx, - efl_text_set(efl_added, "Disabled"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), elm_object_disabled_set(efl_added, EINA_TRUE), efl_pack(bx, efl_added)); + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Vertical"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); + hbx = efl_add(EFL_UI_BOX_CLASS, bx, efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL), efl_pack(bx, efl_added)); efl_add(EFL_UI_SLIDER_CLASS, hbx, - efl_text_set(efl_added, "Vertical"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), efl_ui_range_value_set(efl_added, 70), efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), efl_pack(hbx, efl_added)); efl_add(EFL_UI_SLIDER_CLASS, hbx, - efl_text_set(efl_added, "Disabled"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), elm_object_disabled_set(efl_added, EINA_TRUE), efl_pack(hbx, efl_added)); efl_add(EFL_UI_SLIDER_CLASS, hbx, - efl_text_set(efl_added, "Always Show Indicator:"), - efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), - EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), efl_ui_range_value_set(efl_added, 35), - efl_ui_slider_step_set(efl_added, step), - efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), + efl_ui_range_step_set(efl_added, step), + efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN), efl_pack(hbx, efl_added)); + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Limit"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); + efl_add(EFL_UI_SLIDER_CLASS, bx, - efl_text_set(efl_added, "Limited (0-100)"), - efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), - EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(260, 0)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 0, 150), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, _slider_changed_cb, NULL), efl_pack(bx, efl_added)); } diff --git a/src/bin/elementary/test_ui_slider_interval.c b/src/bin/elementary/test_ui_slider_interval.c index 1e7f4cf063..3973b3d846 100644 --- a/src/bin/elementary/test_ui_slider_interval.c +++ b/src/bin/elementary/test_ui_slider_interval.c @@ -32,7 +32,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void Eo *win, *bx, *hbx; double step; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Ui.Slider_Interval"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -40,84 +40,77 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void bx = efl_add(EFL_UI_BOX_CLASS, win, efl_content_set(win, efl_added)); - efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx, + efl_add(EFL_UI_TEXT_CLASS, bx, efl_text_set(efl_added, "Horizontal"), - efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), - EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_NONE), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx, efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(160, 0)), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.5f"), efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9), efl_pack(bx, efl_added)); + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Manual step"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); + step = _step_size_calculate(0, 9); efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx, - efl_text_set(efl_added, "Manual step"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), - efl_ui_format_string_set(efl_added, "%1.1f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.1f"), efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Disabled"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), efl_pack(bx, efl_added)); efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx, - efl_text_set(efl_added, "Disabled"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), efl_ui_slider_interval_value_set(efl_added, 50, 100), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), elm_object_disabled_set(efl_added, EINA_TRUE), efl_pack(bx, efl_added)); + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Vertical"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); + hbx = efl_add(EFL_UI_BOX_CLASS, bx, efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL), efl_pack(bx, efl_added)); efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx, - efl_text_set(efl_added, "Vertical"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), efl_ui_slider_interval_value_set(efl_added, 50, 100), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), efl_pack(hbx, efl_added)); efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx, - efl_text_set(efl_added, "Disabled"), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 10, 145), - efl_ui_slider_step_set(efl_added, step), + efl_ui_slider_interval_value_set(efl_added, 50, 100), + efl_ui_range_step_set(efl_added, step), efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), elm_object_disabled_set(efl_added, EINA_TRUE), efl_pack(hbx, efl_added)); - efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx, - efl_text_set(efl_added, "Always Show Indicator:"), - efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), - EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS), - efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), - efl_ui_range_min_max_set(efl_added, 10, 145), - efl_ui_slider_step_set(efl_added, step), - efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), - efl_pack(hbx, efl_added)); + efl_add(EFL_UI_TEXT_CLASS, bx, + efl_text_set(efl_added, "Limited (100-500)"), + efl_text_interactive_editable_set(efl_added, EINA_FALSE), + efl_pack(bx, efl_added)); efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx, - efl_text_set(efl_added, "Limited (100-500)"), - efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), - EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS), efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(260, 0)), - efl_ui_format_string_set(efl_added, "%1.0f units"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), efl_ui_range_min_max_set(efl_added, 0, 600), efl_ui_slider_interval_value_set(efl_added, 100, 500), - efl_ui_slider_step_set(efl_added, step), + efl_ui_range_step_set(efl_added, step), efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, _intv_slider_changed_cb, NULL), efl_pack(bx, efl_added)); } diff --git a/src/bin/elementary/test_ui_spin.c b/src/bin/elementary/test_ui_spin.c index ba0a166adf..85945a3101 100644 --- a/src/bin/elementary/test_ui_spin.c +++ b/src/bin/elementary/test_ui_spin.c @@ -36,7 +36,7 @@ test_ui_spin(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i { Eo *win, *bx, *sp; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Ui.Spin"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -65,5 +65,5 @@ test_ui_spin(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _dec_clicked, sp), efl_pack(bx, efl_added)); - efl_gfx_size_set(win, EINA_SIZE2D(100, 80)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(100, 120)); } diff --git a/src/bin/elementary/test_ui_spin_button.c b/src/bin/elementary/test_ui_spin_button.c index ddb93f302c..095c2a510d 100644 --- a/src/bin/elementary/test_ui_spin_button.c +++ b/src/bin/elementary/test_ui_spin_button.c @@ -3,6 +3,8 @@ #endif #include +#define NUM_OF_VALS 12 + static void _spin_delay_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev) { @@ -13,8 +15,19 @@ void test_ui_spin_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Eo *win, *bx; + int i; + Eina_Array *array; + Efl_Ui_Spin_Special_Value values[12] = { + {1, "January"}, {2, "February"}, {3, "March"}, {4, "April"}, + {5, "May"}, {6, "June"}, {7, "July"}, {8, "August"}, + {9, "September"}, {10, "October"}, {11, "November"}, {12, "December"} + }; - win = efl_add(EFL_UI_WIN_CLASS, NULL, + array = eina_array_new(sizeof(Efl_Ui_Spin_Special_Value)); + for (i = 0; i < NUM_OF_VALS; i++) + eina_array_push(array, &values[i]); + + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Ui.Spin_Button"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); @@ -39,5 +52,13 @@ test_ui_spin_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * efl_ui_spin_button_editable_set(efl_added, EINA_FALSE), efl_pack(bx, efl_added)); - efl_gfx_size_set(win, EINA_SIZE2D(180, 100)); + efl_add(EFL_UI_SPIN_BUTTON_CLASS, bx, + efl_ui_range_min_max_set(efl_added, 1, 12), + efl_ui_range_value_set(efl_added, 1), + efl_ui_spin_button_editable_set(efl_added, EINA_FALSE), + efl_ui_spin_special_value_set(efl_added, array), + efl_pack(bx, efl_added)); + eina_array_free(array); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(180, 140)); } diff --git a/src/bin/elementary/test_ui_stack.c b/src/bin/elementary/test_ui_stack.c new file mode 100644 index 0000000000..1cb3041ce9 --- /dev/null +++ b/src/bin/elementary/test_ui_stack.c @@ -0,0 +1,228 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif + +#include + +static void _third_layout_push(void *data, const Efl_Event *ev EINA_UNUSED); +static void _fourth_layout_push(void *data, const Efl_Event *ev EINA_UNUSED); + +static void +_stack_remove(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + Eo *top_layout = efl_ui_stack_top(stack); + efl_ui_stack_remove(stack, top_layout); +} + +static void +_stack_double_pop(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + efl_ui_stack_pop(stack); + efl_ui_stack_pop(stack); +} + +static void +_stack_pop(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + efl_ui_stack_pop(stack); +} + +static void +_stack_double_push(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + _third_layout_push(stack, NULL); + _fourth_layout_push(stack, NULL); +} + +static void +_stack_del(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + Eo *top_layout = efl_ui_stack_top(stack); + efl_del(top_layout); +} + +static void +_win_del(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *win = data; + efl_del(win); +} + +static Eo * +_navigation_layout_create(Eo *stack, const char *text, Eo *content) +{ + Eo *nl = efl_add(EFL_UI_NAVIGATION_LAYOUT_CLASS, stack); + + Eo *bn = efl_add(EFL_UI_NAVIGATION_BAR_CLASS, nl); + efl_text_set(bn, text); + efl_gfx_entity_visible_set(efl_part(bn, "back_button"), EINA_TRUE); + efl_ui_navigation_layout_bar_set(nl, bn); + + efl_content_set(nl, content); + + printf("Create content(%p).\n\n", nl); + + return nl; +} + +static void +_bar_left_btn_set(Eo *navigation_layout, Efl_Event_Cb clicked_cb, void *data) +{ + Eo *bn = efl_ui_navigation_layout_bar_get(navigation_layout); + + Eo *left_btn = efl_add(EFL_UI_BUTTON_CLASS, bn); + efl_text_set(left_btn, "Prev"); + efl_content_set(efl_part(bn, "left_content"), left_btn); + + efl_event_callback_add(left_btn, EFL_UI_EVENT_CLICKED, clicked_cb, data); + + //Positions of "left_content" and "back_button" are the same. + efl_gfx_entity_visible_set(efl_part(bn, "back_button"), EINA_FALSE); +} + +static void +_bar_right_btn_set(Eo *navigation_layout, Efl_Event_Cb clicked_cb, void *data) +{ + Eo *bn = efl_ui_navigation_layout_bar_get(navigation_layout); + + Eo *right_btn = efl_add(EFL_UI_BUTTON_CLASS, bn); + efl_text_set(right_btn, "Next"); + efl_content_set(efl_part(bn, "right_content"), right_btn); + + efl_event_callback_add(right_btn, EFL_UI_EVENT_CLICKED, clicked_cb, data); +} + +static void +_fifth_layout_insert(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + + Eo *top_layout = efl_ui_stack_top(stack); + + Eo *btn = efl_add(EFL_UI_BUTTON_CLASS, stack); + efl_text_set(btn, "Press to remove top layout"); + efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, _stack_remove, stack); + + Eo *nl = _navigation_layout_create(stack, "5th layout", btn); + + efl_ui_stack_insert_after(stack, top_layout, nl); +} + +static void +_fourth_layout_push(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + + Eo *btn = efl_add(EFL_UI_BUTTON_CLASS, stack); + efl_text_set(btn, "Press to double pop"); + efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, _stack_double_pop, stack); + + Eo *nl = _navigation_layout_create(stack, "4th layout", btn); + + _bar_right_btn_set(nl, _fifth_layout_insert, stack); + + efl_ui_stack_push(stack, nl); +} + +static void +_third_layout_push(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + + Eo *btn = efl_add(EFL_UI_BUTTON_CLASS, stack); + efl_text_set(btn, "Press to pop"); + efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, _stack_pop, stack); + + Eo *nl = _navigation_layout_create(stack, "3rd layout", btn); + + _bar_right_btn_set(nl, _fourth_layout_push, stack); + + efl_ui_stack_push(stack, nl); +} + +static void +_second_layout_push(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *stack = data; + + Eo *btn = efl_add(EFL_UI_BUTTON_CLASS, stack); + efl_text_set(btn, "Press to double push"); + efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, _stack_double_push, stack); + + Eo *nl = _navigation_layout_create(stack, "2nd layout", btn); + + _bar_right_btn_set(nl, _third_layout_push, stack); + + efl_ui_stack_push(stack, nl); +} + +static void +_first_layout_push(Eo *win, Eo *stack) +{ + Eo *btn = efl_add(EFL_UI_BUTTON_CLASS, stack); + efl_text_set(btn, "Press to delete stack"); + efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, _stack_del, stack); + + Eo *nl = _navigation_layout_create(stack, "1st layout", btn); + + _bar_left_btn_set(nl, _win_del, win); + _bar_right_btn_set(nl, _second_layout_push, stack); + + efl_ui_stack_push(stack, nl); +} + +static void +_stack_loaded_cb(void *data EINA_UNUSED, const Efl_Event *event) +{ + Efl_Ui_Stack_Event_Loaded *loaded_info = event->info; + printf("Content(%p) is loaded to the stack.\n\n", loaded_info->content); +} + +static void +_stack_unloaded_cb(void *data EINA_UNUSED, const Efl_Event *event) +{ + Efl_Ui_Stack_Event_Unloaded *unloaded_info = event->info; + printf("Content(%p) is unloaded from the stack.\n\n", unloaded_info->content); +} + +static void +_stack_activated_cb(void *data EINA_UNUSED, const Efl_Event *event) +{ + Efl_Ui_Stack_Event_Activated *activated_info = event->info; + printf("Content(%p) is activated in the stack.\n\n", activated_info->content); +} + +static void +_stack_deactivated_cb(void *data EINA_UNUSED, const Efl_Event *event) +{ + Efl_Ui_Stack_Event_Deactivated *deactivated_info = event->info; + printf("Content(%p) is deactivated in the stack.\n\n", deactivated_info->content); +} + +void +test_ui_stack(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), + efl_text_set(efl_added, "Efl.Ui.Stack"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 500)); + + Eo *stack = efl_add(EFL_UI_STACK_CLASS, win); + efl_event_callback_add(stack, EFL_UI_STACK_EVENT_LOADED, + _stack_loaded_cb, NULL); + efl_event_callback_add(stack, EFL_UI_STACK_EVENT_UNLOADED, + _stack_unloaded_cb, NULL); + efl_event_callback_add(stack, EFL_UI_STACK_EVENT_ACTIVATED, + _stack_activated_cb, NULL); + efl_event_callback_add(stack, EFL_UI_STACK_EVENT_DEACTIVATED, + _stack_deactivated_cb, NULL); + efl_content_set(win, stack); + + _first_layout_push(win, stack); +} diff --git a/src/bin/elementary/test_ui_tab_pager.c b/src/bin/elementary/test_ui_tab_pager.c new file mode 100644 index 0000000000..1ed8dba8df --- /dev/null +++ b/src/bin/elementary/test_ui_tab_pager.c @@ -0,0 +1,591 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#include + +#define TAB_PAGE_NUM 5 +#define TAB_LABEL_COUNT 15 +#define TAB_ICON_COUNT 9 + +typedef struct _App_Data { + Evas_Object *navi; + Eo *tab_pager; +} App_Data; + +typedef struct _Tab_Set_Data { + Eo *tab_pager; + Eo *spinner; +} Tab_Set_Data; + +typedef struct _Tab_Change_Data { + Eo *tab_pager; + Eo *label_check; + Eo *icon_check; +} Tab_Change_Data; + +static void _current_cb(void *data, Evas_Object *obj, void *event_info); +static void _pack_cb(void *data, Evas_Object *obj, void *event_info); +static void _unpack_cb(void *data, Evas_Object *obj, void *event_info); +static void _tab_cb(void *data, Evas_Object *obj, void *event_info); +static void _transition_cb(void *data, Evas_Object *obj, void *event_info); +static void _win_del_cb(void *data, const Efl_Event *ev); + +static char *tab_labels[] = { + "efl", "elementary", "ecore", "evas", "eina", + "eo", "eolian", "embryo", "ethumb", "evil", + "eet", "edje", "ector", "efreet", "eldbus" +}; + +static char *tab_icons[] = { + "document-print", "folder-new", "object-rotate-right", + "mail-send", "edit-cut", "edit-copy", + "edit-paste", "edit-delete", "clock" +}; + +static char *tab_label_get() +{ + int index = rand() % (TAB_LABEL_COUNT - 1); + return tab_labels[index]; +} + +static char *tab_icon_get() +{ + int index = rand() % (TAB_ICON_COUNT - 1); + return tab_icons[index]; +} + +static void +_tab_changed_cb(void *data EINA_UNUSED, const Efl_Event *event) +{ + Efl_Ui_Tab_Page_Tab_Changed_Event *ev = event->info; + + switch (ev->changed_info) + { + case EFL_UI_TAB_PAGE_TAB_CHANGED_LABEL: + printf("[%p] tab label changed\n", event->object); + break; + + case EFL_UI_TAB_PAGE_TAB_CHANGED_ICON: + printf("[%p] tab icon changed\n", event->object); + break; + + default: + break; + } +} + +Eo * +content_add(Eo *parent, char *text) +{ + Eo *page; + char buf[PATH_MAX]; + page = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, parent); + + snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get()); + + page = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, parent, + efl_file_set(efl_added, buf, "page_layout"), + efl_text_set(efl_part(efl_added, "text"), text), + efl_gfx_size_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), + efl_gfx_size_hint_align_set(efl_added, EVAS_HINT_FILL, EVAS_HINT_FILL)); + + return page; +} + +Eo * +tab_page_add(Eo *parent) +{ + Eo *tab_page; + char *label = tab_label_get(); + char *icon = tab_icon_get(); + Eo *content = content_add(parent, label); + + tab_page = efl_add(EFL_UI_TAB_PAGE_CLASS, parent); + efl_content_set(tab_page, content); + efl_text_set(efl_part(tab_page, "tab"), label); + efl_ui_tab_page_part_tab_icon_set(efl_part(tab_page, "tab"), icon); + + efl_event_callback_add(tab_page, EFL_UI_TAB_PAGE_EVENT_TAB_CHANGED, _tab_changed_cb, NULL); + + return tab_page; +} + +void +test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *layout, *navi, *list, *tp, *tb, *page; + //Efl_Page_Transition *tran; + App_Data *ad = NULL; + char buf[PATH_MAX]; + int i; + + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_text_set(efl_added, "Efl.Ui.Tab_Pager"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, _win_del_cb, ad)); + + snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get()); + layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, win, + efl_file_set(efl_added, buf, "tab_page_layout"), + efl_content_set(win, efl_added)); + + navi = elm_naviframe_add(layout); + efl_gfx_size_hint_weight_set(navi, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + efl_gfx_size_hint_align_set(navi, EVAS_HINT_FILL, EVAS_HINT_FILL); + efl_content_set(efl_part(layout, "menu"), navi); + + list = elm_list_add(navi); + efl_gfx_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + efl_gfx_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_list_select_mode_set(list, ELM_OBJECT_SELECT_MODE_ALWAYS); + elm_naviframe_item_push(navi, "Properties", NULL, NULL, list, NULL); + efl_gfx_entity_visible_set(list, EINA_TRUE); + + tp = efl_add(EFL_UI_TAB_PAGER_CLASS, layout, + efl_gfx_size_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), + efl_gfx_size_hint_align_set(efl_added, EVAS_HINT_FILL, EVAS_HINT_FILL), + efl_ui_pager_page_size_set(efl_added, EINA_SIZE2D(-1, -1)), + efl_ui_pager_padding_set(efl_added, 20), + efl_content_set(efl_part(layout, "tab_pager"), efl_added)); + + tb = efl_add(EFL_UI_TAB_BAR_CLASS, tp); + efl_ui_tab_pager_tab_bar_set(tp, tb); + +/* + tran = efl_add(EFL_PAGE_TRANSITION_SCROLL_CLASS, tp) + efl_ui_pager_transition_set(tp, tran); +*/ + + for (i = 0 ; i < 3 ; i ++) + { + page = tab_page_add(tp); + efl_pack_end(tp, page); + } + + efl_ui_pager_current_page_set(tp, 0); + + ad = calloc(1, sizeof(ad)); + ad->navi = navi; + ad->tab_pager = tp; + + elm_list_item_append(list, "Current", NULL, NULL, _current_cb, ad); + elm_list_item_append(list, "Pack", NULL, NULL, _pack_cb, ad); + elm_list_item_append(list, "Unpack", NULL, NULL, _unpack_cb, ad); + elm_list_item_append(list, "Tab", NULL, NULL, _tab_cb, ad); + elm_list_item_append(list, "Transition", NULL, NULL, _transition_cb, ad); + elm_list_go(list); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 300)); +} + +/* Menu Callback */ + +static void +_win_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + free(data); +} + +static void +_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + elm_naviframe_item_pop(data); +} + +static void +_tab_set_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Tab_Set_Data *tsd = data; + efl_ui_pager_current_page_set(tsd->tab_pager, elm_spinner_value_get(tsd->spinner)); +} + +static void +_tab_set_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + free(data); +} + +static void +_current_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + App_Data *ad = (App_Data *) data; + Evas_Object *navi = ad->navi; + Eo *tab_pager = ad->tab_pager; + Eo *btn, *box, *sp; + Tab_Set_Data *tsd = calloc(1, sizeof(Tab_Set_Data)); + + Elm_List_Item *it = event_info; + elm_list_item_selected_set(it, EINA_FALSE); + + btn = efl_add(EFL_UI_BUTTON_CLASS, navi, + efl_text_set(efl_added, "Back"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _btn_cb, navi)); + + box = efl_add(EFL_UI_BOX_CLASS, navi, + efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), + elm_naviframe_item_push(navi, "Current", btn, NULL, efl_added, NULL)); + + sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, box, + efl_ui_range_min_max_set(efl_added, 0, efl_content_count(tab_pager) - 1), + efl_ui_range_value_set(efl_added, efl_ui_pager_current_page_get(tab_pager)), + efl_pack_end(box, efl_added)); + + tsd->tab_pager = tab_pager; + tsd->spinner = sp; + + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Current Tab Page Set"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _tab_set_btn_cb, tsd), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, _tab_set_btn_del_cb, tsd), + efl_pack_end(box, efl_added)); +} + +static void +_pack_begin_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tab_pager = data; + Eo *tab_page; + + tab_page = tab_page_add(tab_pager); + + efl_pack_begin(tab_pager, tab_page); +} + +static void +_pack_end_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tab_pager = data; + Eo *tab_page; + + tab_page = tab_page_add(tab_pager); + + efl_pack_end(tab_pager, tab_page); +} + +static void +_pack_before_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tab_pager = data; + Eo *tab_page, *cur_tab_page; + int index; + + index = efl_ui_pager_current_page_get(tab_pager); + cur_tab_page = efl_pack_content_get(tab_pager, index); + + tab_page = tab_page_add(tab_pager); + + efl_pack_before(tab_pager, tab_page, cur_tab_page); +} + +static void +_pack_after_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tab_pager = data; + Eo *tab_page, *cur_tab_page; + int index; + + index = efl_ui_pager_current_page_get(tab_pager); + cur_tab_page = efl_pack_content_get(tab_pager, index); + + tab_page = tab_page_add(tab_pager); + + efl_pack_after(tab_pager, tab_page, cur_tab_page); +} + +static void +_pack_at_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Tab_Set_Data *tsd = data; + Eo *tab_page; + + tab_page = tab_page_add(tsd->tab_pager); + + efl_pack_at(tsd->tab_pager, tab_page, elm_spinner_value_get(tsd->spinner)); + efl_ui_range_min_max_set(tsd->spinner, 0, efl_content_count(tsd->tab_pager) - 1); +} + +static void +_pack_at_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + free(data); +} + +static void +_pack_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + App_Data *ad = (App_Data *) data; + Evas_Object *navi = ad->navi; + Eo *tab_pager = ad->tab_pager; + Eo *btn, *box, *in_box, *sp; + Tab_Set_Data *tsd = calloc(1, sizeof(Tab_Set_Data)); + + Elm_List_Item *it = event_info; + elm_list_item_selected_set(it, EINA_FALSE); + + btn = efl_add(EFL_UI_BUTTON_CLASS, navi, + efl_text_set(efl_added, "Back"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _btn_cb, navi)); + + box = efl_add(EFL_UI_BOX_CLASS, navi, + efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), + elm_naviframe_item_push(navi, "Pack", btn, NULL, efl_added, NULL)); + + /* Pack Begin */ + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Pack Begin"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _pack_begin_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + /* Pack End */ + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Pack End"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _pack_end_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + /* Pack Before */ + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Pack Before Current Tab Page"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _pack_before_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + /* Pack After */ + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Pack After Current Tab Page"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _pack_after_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + in_box = efl_add(EFL_UI_BOX_CLASS, box, + efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), + efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL), + efl_pack_end(box, efl_added)); + + sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box, + efl_ui_range_min_max_set(efl_added, 0, efl_content_count(tab_pager) - 1), + efl_ui_range_value_set(efl_added, efl_ui_pager_current_page_get(tab_pager)), + efl_pack_end(in_box, efl_added)); + + tsd->tab_pager = tab_pager; + tsd->spinner = sp; + + /* Pack At */ + btn = efl_add(EFL_UI_BUTTON_CLASS, in_box, + efl_text_set(efl_added, "Pack At"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _pack_at_btn_cb, tsd), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, _pack_at_btn_del_cb, tsd), + efl_pack_end(in_box, efl_added)); +} + +static void +_clear_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tab_pager = data; + efl_pack_clear(tab_pager); +} + +static void +_unpack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tab_pager = data; + int index = efl_ui_pager_current_page_get(tab_pager); + Eo *tab_page = efl_pack_content_get(tab_pager, index); + efl_pack_unpack(tab_pager, tab_page); +} + +static void +_unpack_all_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tab_pager = data; + efl_pack_unpack_all(tab_pager); +} + +static void +_unpack_at_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Tab_Set_Data *tsd = data; + + efl_pack_unpack_at(tsd->tab_pager, elm_spinner_value_get(tsd->spinner)); + efl_ui_range_min_max_set(tsd->spinner, 0, efl_content_count(tsd->tab_pager) - 1); +} + +static void +_unpack_at_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + free(data); +} + +static void +_unpack_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + App_Data *ad = (App_Data *) data; + Evas_Object *navi = ad->navi; + Eo *tab_pager = ad->tab_pager; + Eo *btn, *box, *sp, *in_box; + Tab_Set_Data *tsd = calloc(1, sizeof(Tab_Set_Data)); + + Elm_List_Item *it = event_info; + elm_list_item_selected_set(it, EINA_FALSE); + + btn = efl_add(EFL_UI_BUTTON_CLASS, navi, + efl_text_set(efl_added, "Back"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _btn_cb, navi)); + + box = efl_add(EFL_UI_BOX_CLASS, navi, + efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), + elm_naviframe_item_push(navi, "Unpack", btn, NULL, efl_added, NULL)); + + /* Clear */ + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Clear"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _clear_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + /* Unpack */ + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Unpack"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _unpack_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + /* Unpack All */ + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Unpack All"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _unpack_all_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + in_box = efl_add(EFL_UI_BOX_CLASS, box, + efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), + efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL), + efl_pack_end(box, efl_added)); + + sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box, + efl_ui_range_min_max_set(efl_added, 0, efl_content_count(tab_pager) - 1), + efl_ui_range_value_set(efl_added, efl_ui_pager_current_page_get(tab_pager)), + efl_pack_end(in_box, efl_added)); + + tsd->tab_pager = tab_pager; + tsd->spinner = sp; + + /* Unpack At */ + btn = efl_add(EFL_UI_BUTTON_CLASS, in_box, + efl_text_set(efl_added, "Unpack At"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _unpack_at_btn_cb, tsd), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, _unpack_at_btn_del_cb, tsd), + efl_pack_end(in_box, efl_added)); +} + +static void +_change_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Tab_Change_Data *tcd = data; + + Eo *tab_page, *content; + char *label = NULL; + char *icon = NULL; + int cur; + cur = efl_ui_pager_current_page_get(tcd->tab_pager); + tab_page = efl_pack_content_get(tcd->tab_pager, cur); + + if (efl_ui_nstate_value_get(tcd->label_check)) + { + label = tab_label_get(); + efl_text_set(efl_part(tab_page, "tab"), label); + content = content_add(tab_page, label); + efl_content_set(tab_page, content); + } + + if (efl_ui_nstate_value_get(tcd->icon_check)) + { + icon = tab_icon_get(); + efl_ui_tab_page_part_tab_icon_set(efl_part(tab_page, "tab"), icon); + } +} + +static void +_change_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + free(data); +} + +static void +_tab_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + App_Data *ad = (App_Data *) data; + Evas_Object *navi = ad->navi; + Eo *tab_pager = ad->tab_pager; + Eo *btn, *box, *label_check, *icon_check; + Tab_Change_Data *tcd = calloc(1, sizeof(Tab_Change_Data)); + + Elm_List_Item *it = event_info; + elm_list_item_selected_set(it, EINA_FALSE); + + btn = efl_add(EFL_UI_BUTTON_CLASS, navi, + efl_text_set(efl_added, "Back"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _btn_cb, navi)); + + box = efl_add(EFL_UI_BOX_CLASS, navi, + efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), + elm_naviframe_item_push(navi, "Tab", btn, NULL, efl_added, NULL)); + + label_check = efl_add(EFL_UI_CHECK_CLASS, box, + efl_text_set(efl_added, "Tab Label + Page"), + efl_ui_nstate_value_set(efl_added, EINA_FALSE), + efl_pack_end(box, efl_added)); + + icon_check = efl_add(EFL_UI_CHECK_CLASS, box, + efl_text_set(efl_added, "Tab Icon"), + efl_ui_nstate_value_set(efl_added, EINA_FALSE), + efl_pack_end(box, efl_added)); + + tcd->tab_pager = tab_pager; + tcd->label_check = label_check; + tcd->icon_check = icon_check; + + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Change"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _change_btn_cb, tcd), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, _change_btn_del_cb, tcd), + efl_pack_end(box, efl_added)); +} + +static void +_tran_set_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Efl_Page_Transition *tran = efl_add(EFL_PAGE_TRANSITION_SCROLL_CLASS, data); + efl_ui_pager_transition_set(data, tran); +} + +static void +_tran_unset_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) +{ + efl_ui_pager_transition_set(data, NULL); +} + +static void +_transition_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + App_Data *ad = (App_Data *) data; + Evas_Object *navi = ad->navi; + Eo *tab_pager = ad->tab_pager; + Eo *btn, *box; + + Elm_List_Item *it = event_info; + elm_list_item_selected_set(it, EINA_FALSE); + + btn = efl_add(EFL_UI_BUTTON_CLASS, navi, + efl_text_set(efl_added, "Back"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _btn_cb, navi)); + + box = efl_add(EFL_UI_BOX_CLASS, navi, + efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), + elm_naviframe_item_push(navi, "Transition", btn, NULL, efl_added, NULL)); + + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Set"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _tran_set_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); + + btn = efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Unset"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _tran_unset_btn_cb, tab_pager), + efl_pack_end(box, efl_added)); +} diff --git a/src/bin/elementary/test_ui_table.c b/src/bin/elementary/test_ui_table.c index d16047577a..26f3f414f9 100644 --- a/src/bin/elementary/test_ui_table.c +++ b/src/bin/elementary/test_ui_table.c @@ -113,7 +113,7 @@ static void child_evt_cb(void *data, const Efl_Event *event) { Elm_Label *o = data; - Efl_Gfx *it = event->info; + Efl_Gfx_Entity *it = event->info; int col, row, colspan, rowspan; char buf[64]; @@ -139,7 +139,7 @@ _custom_layout_update(Eo *pack, void *_pd EINA_UNUSED) Eina_Rect g; Eo *item; - g = efl_gfx_geometry_get(pack); + g = efl_gfx_entity_geometry_get(pack); efl_pack_table_size_get(pack, &cols, &rows); if (!cols || !rows) goto end; @@ -151,10 +151,10 @@ _custom_layout_update(Eo *pack, void *_pd EINA_UNUSED) { Eina_Rect m; - m.x = g.x + c * g.w / cols + (cs * g.w / cols - m.w) / 2; - m.y = g.y + r * g.h / rows + (rs * g.h / rows - m.h) / 2; + m.x = g.x + c * g.w / cols + (cs * g.w / cols - g.x) / 2; + m.y = g.y + r * g.h / rows + (rs * g.h / rows - g.y) / 2; m.size = efl_gfx_size_hint_combined_min_get(item); - efl_gfx_geometry_set(item, m); + efl_gfx_entity_geometry_set(item, m); gmw = MAX(gmw, m.w); gmh = MAX(gmh, m.h); @@ -174,7 +174,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ win = elm_win_util_standard_add("ui-table", "Efl.Ui.Table"); elm_win_autodel_set(win, EINA_TRUE); - efl_gfx_size_set(win, EINA_SIZE2D(600, 400)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(600, 400)); vbox = efl_add(EFL_UI_BOX_CLASS, win, efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); @@ -194,7 +194,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ efl_gfx_size_hint_align_set(f, -1, -1); efl_gfx_size_hint_weight_set(f, 1, 0); efl_pack(vbox, f); - efl_gfx_visible_set(f, 1); + efl_gfx_entity_visible_set(f, 1); hbox = efl_add(EFL_UI_BOX_CLASS, win, efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); @@ -214,7 +214,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ efl_gfx_size_hint_align_set(o, 0, 0.5); elm_radio_state_value_set(o, NONE); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "No weight + table fill"); @@ -223,7 +223,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_radio_state_value_set(o, NONE_BUT_FILL); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "Equal weights"); @@ -232,7 +232,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_radio_state_value_set(o, EQUAL); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "One weight only"); @@ -241,7 +241,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_radio_state_value_set(o, ONE); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "Two weights"); @@ -250,7 +250,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_radio_state_value_set(o, TWO); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_radio_add(win); elm_object_text_set(o, "Custom layout"); @@ -259,7 +259,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_radio_state_value_set(o, CUSTOM); elm_radio_group_add(o, chk); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); elm_radio_value_set(chk, EQUAL); @@ -274,7 +274,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ o = elm_label_add(win); elm_object_text_set(o, "User min size"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.0fpx"); @@ -287,7 +287,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_slider_inverted_set(o, 1); elm_slider_value_set(o, 0); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* inner box padding */ @@ -300,7 +300,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ o = elm_label_add(win); elm_object_text_set(o, "Padding"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.0fpx"); @@ -313,7 +313,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_slider_inverted_set(o, 1); elm_slider_value_set(o, 10); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* outer margin */ @@ -326,7 +326,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ o = elm_label_add(win); elm_object_text_set(o, "Margin"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.0fpx"); @@ -339,7 +339,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_slider_inverted_set(o, 1); elm_slider_value_set(o, 10); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* button margins */ @@ -352,7 +352,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ o = elm_label_add(win); elm_object_text_set(o, "Buttons margins"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_slider_add(win); elm_slider_indicator_format_set(o, "%.0fpx"); @@ -365,7 +365,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_slider_inverted_set(o, 1); elm_slider_value_set(o, 10); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* ro info */ @@ -378,12 +378,12 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ o = elm_label_add(win); elm_object_text_set(o, "Properties"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_label_add(win); efl_event_callback_add(table, EFL_PACK_EVENT_LAYOUT_UPDATED, layout_updated_cb, o); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_label_add(win); efl_event_callback_add(table, EFL_CONTAINER_EVENT_CONTENT_ADDED, child_evt_cb, o); @@ -391,7 +391,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ efl_gfx_size_hint_align_set(o, 0.5, 0); efl_gfx_size_hint_weight_set(o, 1, 1); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* contents */ @@ -400,11 +400,11 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ efl_gfx_size_hint_align_set(f, -1, -1); efl_gfx_size_hint_weight_set(f, 1, 1); efl_pack(vbox, f); - efl_gfx_visible_set(f, 1); + efl_gfx_entity_visible_set(f, 1); efl_gfx_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_content_set(f, table); - efl_gfx_visible_set(table, 1); + efl_gfx_entity_visible_set(table, 1); objects[i++] = o = efl_add(EFL_CANVAS_RECTANGLE_CLASS, win); efl_gfx_size_hint_min_set(o, EINA_SIZE2D(10, 10)); @@ -416,44 +416,44 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ efl_gfx_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); efl_gfx_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); efl_pack_table(table, o, 0, 0, 1, 1); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Button 2"); efl_gfx_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); efl_gfx_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); efl_pack_table(table, o, 1, 0, 1, 1); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Button 3"); efl_gfx_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); efl_gfx_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); efl_pack_table(table, o, 2, 0, 1, 1); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Button 4"); efl_gfx_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); efl_gfx_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); efl_pack_table(table, o, 0, 1, 2, 1); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Button 5"); efl_gfx_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); efl_gfx_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); efl_pack_table(table, o, 2, 1, 1, 2); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); objects[i++] = o = elm_button_add(win); elm_object_text_set(o, "Button 6"); efl_gfx_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); efl_gfx_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); efl_pack_table(table, o, 0, 2, 2, 1); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); - efl_gfx_visible_set(win, 1); + efl_gfx_entity_visible_set(win, 1); } static const char * @@ -480,7 +480,7 @@ append_cb(void *data, const Efl_Event *ev EINA_UNUSED) efl_event_callback_add(o, EFL_UI_EVENT_CLICKED, remove_cb, NULL); elm_object_tooltip_text_set(o, "Click to unpack"); efl_pack_end(table, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); } static void @@ -498,14 +498,14 @@ test_ui_table_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, win = elm_win_util_standard_add("ui-table-linear", "Efl.Ui.Table Linear APIs"); elm_win_autodel_set(win, EINA_TRUE); - efl_gfx_size_set(win, EINA_SIZE2D(600, 400)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(600, 400)); vbox = efl_add(EFL_UI_BOX_CLASS, win, efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); efl_pack_padding_set(vbox, 10, 10, EINA_TRUE); efl_gfx_size_hint_margin_set(vbox, 5, 5, 5, 5); elm_win_resize_object_add(win, vbox); - efl_gfx_visible_set(vbox, 1); + efl_gfx_entity_visible_set(vbox, 1); // create here to pass in cb @@ -518,13 +518,13 @@ test_ui_table_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, efl_gfx_size_hint_align_set(f, -1, -1); efl_gfx_size_hint_weight_set(f, 1, 0); efl_pack(vbox, f); - efl_gfx_visible_set(f, 1); + efl_gfx_entity_visible_set(f, 1); hbox = efl_add(EFL_UI_BOX_CLASS, win, efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); elm_object_content_set(f, hbox); efl_pack_padding_set(hbox, 5, 0, EINA_TRUE); - efl_gfx_visible_set(hbox, 1); + efl_gfx_entity_visible_set(hbox, 1); ico = elm_icon_add(win); elm_icon_standard_set(ico, "list-add"); @@ -533,7 +533,7 @@ test_ui_table_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, elm_object_text_set(o, "Append"); efl_event_callback_add(o, EFL_UI_EVENT_CLICKED, append_cb, table); efl_pack(hbox, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); ico = elm_icon_add(win); elm_icon_standard_set(ico, "edit-clear-all"); @@ -542,7 +542,7 @@ test_ui_table_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, elm_object_text_set(o, "Clear"); efl_event_callback_add(o, EFL_UI_EVENT_CLICKED, clear_cb, table); efl_pack(hbox, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* ro info */ @@ -551,17 +551,17 @@ test_ui_table_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, efl_gfx_size_hint_align_set(bx, 0, -1); efl_gfx_size_hint_weight_set(bx, 1, 1); efl_pack(hbox, bx); - efl_gfx_visible_set(bx, 1); + efl_gfx_entity_visible_set(bx, 1); o = elm_label_add(win); elm_object_text_set(o, "Properties"); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_label_add(win); efl_event_callback_add(table, EFL_PACK_EVENT_LAYOUT_UPDATED, layout_updated_cb, o); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_label_add(win); efl_event_callback_add(table, EFL_CONTAINER_EVENT_CONTENT_ADDED, child_evt_cb, o); @@ -569,7 +569,7 @@ test_ui_table_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, efl_gfx_size_hint_align_set(o, 0.5, 0); efl_gfx_size_hint_weight_set(o, 1, 1); efl_pack(bx, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); /* contents */ @@ -578,31 +578,31 @@ test_ui_table_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, efl_gfx_size_hint_align_set(f, -1, -1); efl_gfx_size_hint_weight_set(f, 1, 1); efl_pack(vbox, f); - efl_gfx_visible_set(f, 1); + efl_gfx_entity_visible_set(f, 1); efl_pack_table_columns_set(table, 4); efl_pack_table_direction_set(table, EFL_UI_DIR_RIGHT, EFL_UI_DIR_DOWN); efl_gfx_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_content_set(f, table); - efl_gfx_visible_set(table, 1); + efl_gfx_entity_visible_set(table, 1); o = elm_button_add(win); elm_object_text_set(o, btn_text(NULL)); efl_event_callback_add(o, EFL_UI_EVENT_CLICKED, remove_cb, NULL); efl_pack(table, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_button_add(win); elm_object_text_set(o, btn_text(NULL)); efl_event_callback_add(o, EFL_UI_EVENT_CLICKED, remove_cb, NULL); efl_pack(table, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); o = elm_button_add(win); elm_object_text_set(o, btn_text(NULL)); efl_event_callback_add(o, EFL_UI_EVENT_CLICKED, remove_cb, NULL); efl_pack(table, o); - efl_gfx_visible_set(o, 1); + efl_gfx_entity_visible_set(o, 1); - efl_gfx_visible_set(win, 1); + efl_gfx_entity_visible_set(win, 1); } diff --git a/src/bin/elementary/test_ui_table_static.c b/src/bin/elementary/test_ui_table_static.c index 8681e7ae93..369236fde7 100644 --- a/src/bin/elementary/test_ui_table_static.c +++ b/src/bin/elementary/test_ui_table_static.c @@ -104,7 +104,7 @@ test_ui_table_static(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void Eo *win, *table, *bt, *rc, *en; api_data *api = calloc(1, sizeof(*api)); - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_name_set(efl_added, "table"), efl_text_set(efl_added, "Table"), efl_ui_win_autodel_set(efl_added, EINA_TRUE), @@ -121,48 +121,48 @@ test_ui_table_static(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void elm_object_text_set(en, "Entry text"); elm_entry_single_line_set(en, EINA_TRUE); efl_pack_table(table, en, 50, 10, 40, 10); - efl_gfx_visible_set(en, 1); + efl_gfx_entity_visible_set(en, 1); en = elm_entry_add(win); elm_entry_scrollable_set(en, EINA_TRUE); elm_object_text_set(en, "Entry text 2"); elm_entry_single_line_set(en, EINA_TRUE); efl_pack_table(table, en, 60, 20, 30, 10); - efl_gfx_visible_set(en, 1); + efl_gfx_entity_visible_set(en, 1); bt = elm_button_add(win); elm_object_text_set(bt, "Next API function"); efl_event_callback_add(bt, EFL_UI_EVENT_CLICKED, _api_bt_clicked, api); efl_pack_table(table, bt, 30, 0, 40, 10); elm_object_disabled_set(bt, api->state == API_STATE_LAST); - efl_gfx_visible_set(bt, 1); + efl_gfx_entity_visible_set(bt, 1); bt = elm_button_add(win); elm_object_text_set(bt, "Button"); efl_pack_table(table, bt, 0, 0, 20, 20); - efl_gfx_visible_set(bt, 1); + efl_gfx_entity_visible_set(bt, 1); bt = elm_button_add(win); elm_object_text_set(bt, "Button"); efl_pack_table(table, bt, 10, 10, 40, 20); api->data.child = bt; - efl_gfx_visible_set(bt, 1); + efl_gfx_entity_visible_set(bt, 1); bt = elm_button_add(win); elm_object_text_set(bt, "Button"); efl_pack_table(table, bt, 10, 30, 20, 50); - efl_gfx_visible_set(bt, 1); + efl_gfx_entity_visible_set(bt, 1); bt = elm_button_add(win); elm_object_text_set(bt, "Button"); efl_pack_table(table, bt, 80, 80, 20, 20); - efl_gfx_visible_set(bt, 1); + efl_gfx_entity_visible_set(bt, 1); bt = elm_button_add(win); elm_object_text_set(bt, "Change"); efl_pack_table(table, bt, 40, 40, 20, 20); efl_event_callback_add(bt, EFL_UI_EVENT_CLICKED, _ch_table, table); - efl_gfx_visible_set(bt, 1); + efl_gfx_entity_visible_set(bt, 1); rc = efl_add(EFL_CANVAS_RECTANGLE_CLASS, win); efl_gfx_color_set(rc, 128, 0, 0, 128); @@ -184,5 +184,5 @@ test_ui_table_static(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_gfx_color_set(rc, 128, 64, 0, 128); efl_pack_table(table, rc, 60, 80, 10, 10); - efl_gfx_size_set(win, EINA_SIZE2D(480, 480)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(480, 480)); } diff --git a/src/bin/elementary/test_ui_tags.c b/src/bin/elementary/test_ui_tags.c new file mode 100644 index 0000000000..15faebe4af --- /dev/null +++ b/src/bin/elementary/test_ui_tags.c @@ -0,0 +1,89 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#include + +static void +_item_added_cb(void *data, const Efl_Event *ev) +{ + Eina_Array *array = data; + const char *str = ev->info; + + printf("item added %s\n", str); + eina_array_push(array, str); +} + +static void +_item_deleted_cb(void *data, const Efl_Event *ev) +{ + Eina_Array_Iterator iterator; + const char *item; + unsigned int i; + Eina_Array *array = data; + const char *str = ev->info; + + printf("item deleted %s\n", str); + eina_array_clean(array); + + const Eina_Array *tags_array = efl_ui_tags_items_get(ev->object); + EINA_ARRAY_ITER_NEXT(tags_array, i, item, iterator) + { + eina_array_push(array, item); + printf("item #%u: %s\n", i, item); + } +} + +static void +_clicked(void *data, const Efl_Event *ev EINA_UNUSED) +{ + Eo *tags = data; + + if (efl_ui_tags_expanded_get(tags)) + efl_ui_tags_expanded_set(tags, EINA_FALSE); + else + efl_ui_tags_expanded_set(tags, EINA_TRUE); +} + + +void +test_ui_tags(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *layout, *tags; + + const char* strs[] = { + "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" + }; + + Eina_Array *array; + unsigned int i; + char buf[PATH_MAX]; + + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_text_set(efl_added, "Efl.Ui.Tags"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + + snprintf(buf, sizeof(buf), "%s/objects/multibuttonentry.edj", elm_app_data_dir_get()); + layout = efl_add(EFL_UI_LAYOUT_OBJECT_CLASS, win, + elm_layout_file_set(efl_added, buf, "multibuttonentry_test"), + elm_win_resize_object_add(win, efl_added)); + + array = eina_array_new(10); + for (i = 0; i < 9; i++) + eina_array_push(array, strs[i]); + + tags = efl_add(EFL_UI_TAGS_CLASS, layout, + efl_ui_tags_items_set(efl_added, array), + efl_event_callback_add(efl_added, EFL_UI_TAGS_EVENT_ITEM_ADDED, _item_added_cb, array), + efl_event_callback_add(efl_added, EFL_UI_TAGS_EVENT_ITEM_DELETED, _item_deleted_cb, array), + efl_text_set(efl_added, "To :"), + efl_ui_format_string_set(efl_added, "+ %d items"), + elm_object_part_content_set(layout, "multibuttonentry", efl_added)); + + efl_add(EFL_UI_BUTTON_CLASS, layout, + efl_text_set(efl_added, "Change mode"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _clicked, tags), + elm_object_part_content_set(layout, "box", efl_added)); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 480)); +} diff --git a/src/bin/elementary/test_ui_textpath.c b/src/bin/elementary/test_ui_textpath.c index 9b27cdb7ac..2192f44709 100644 --- a/src/bin/elementary/test_ui_textpath.c +++ b/src/bin/elementary/test_ui_textpath.c @@ -9,16 +9,12 @@ #define CY 150 #define CR 100 +#define TEST_UI_TEXTPATH_LONG_TEXT "This text follows the path which you defined. This is a <long> text designed to make it ellipsis." +#define TEST_UI_TEXTPATH_SHORT_TEXT "This text is short." + static Evas_Object *angle_sld, *slice_sld, *dir_chk; static int path_type; -static void -_autofit_changed_cb(void *data, const Efl_Event *event) -{ - Evas_Object *txtpath = data; - efl_ui_textpath_autofit_set(txtpath, elm_check_state_get(event->object)); -} - static void _ellipsis_changed_cb(void *data, const Efl_Event *event) { @@ -49,6 +45,18 @@ _angle_changed_cb(void *data, const Efl_Event *event) efl_ui_textpath_circle_set(txtpath, CX, CY, CR, angle, dir); } +static void +_short_text_changed_cb(void *data, const Efl_Event *event) +{ + Evas_Object *txtpath = data; + Eina_Bool val = elm_check_selected_get(event->object); + + if (val) + efl_text_set(txtpath, TEST_UI_TEXTPATH_SHORT_TEXT); + else + efl_text_set(txtpath, TEST_UI_TEXTPATH_LONG_TEXT); +} + static void _change_shape_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -93,51 +101,49 @@ test_ui_textpath(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_box_horizontal_set(box, EINA_FALSE); efl_gfx_size_hint_weight_set(box, EFL_GFX_SIZE_HINT_EXPAND, EFL_GFX_SIZE_HINT_EXPAND); efl_gfx_size_hint_align_set(box, EFL_GFX_SIZE_HINT_FILL, EFL_GFX_SIZE_HINT_FILL); - efl_gfx_visible_set(box, EINA_TRUE); + efl_gfx_entity_visible_set(box, EINA_TRUE); txtpath = efl_add(EFL_UI_TEXTPATH_CLASS, win); elm_box_pack_end(box, txtpath); - efl_ui_textpath_autofit_set(txtpath, EINA_TRUE); - efl_text_set(txtpath, "This text follows the path which you defined. This is a <long> text designed to make it ellipsis."); + efl_text_set(txtpath, TEST_UI_TEXTPATH_LONG_TEXT); efl_ui_textpath_circle_set(txtpath, CX, CY, CR, 0, EFL_UI_TEXTPATH_DIRECTION_CCW); - efl_gfx_visible_set(txtpath, EINA_TRUE); + efl_gfx_entity_visible_set(txtpath, EINA_TRUE); path_type = 0; hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); efl_gfx_size_hint_weight_set(hbox, EFL_GFX_SIZE_HINT_EXPAND, EFL_GFX_SIZE_HINT_EXPAND); efl_gfx_size_hint_align_set(hbox, EFL_GFX_SIZE_HINT_FILL, EFL_GFX_SIZE_HINT_FILL); - efl_gfx_visible_set(hbox, EINA_TRUE); + efl_gfx_entity_visible_set(hbox, EINA_TRUE); elm_box_pack_end(box, hbox); - chk = elm_check_add(win); - elm_object_text_set(chk, "Autofit"); - elm_check_state_set(chk, efl_ui_textpath_autofit_get(txtpath)); - efl_event_callback_add(chk, EFL_UI_CHECK_EVENT_CHANGED, _autofit_changed_cb, txtpath); - elm_box_pack_end(hbox, chk); - efl_gfx_visible_set(chk, EINA_TRUE); - chk = elm_check_add(win); elm_object_text_set(chk, "Ellipsis"); elm_check_state_set(chk, efl_ui_textpath_ellipsis_get(txtpath)); efl_event_callback_add(chk, EFL_UI_CHECK_EVENT_CHANGED, _ellipsis_changed_cb, txtpath); elm_box_pack_end(hbox, chk); - efl_gfx_visible_set(chk, EINA_TRUE); + efl_gfx_entity_visible_set(chk, EINA_TRUE); chk = elm_check_add(win); elm_object_text_set(chk, "Clockwise"); efl_event_callback_add(chk, EFL_UI_CHECK_EVENT_CHANGED, _direction_changed_cb, txtpath); elm_box_pack_end(hbox, chk); - efl_gfx_visible_set(chk, EINA_TRUE); + efl_gfx_entity_visible_set(chk, EINA_TRUE); dir_chk = chk; + chk = elm_check_add(win); + elm_object_text_set(chk, "Short text"); + efl_event_callback_add(chk, EFL_UI_CHECK_EVENT_CHANGED, _short_text_changed_cb, txtpath); + elm_box_pack_end(hbox, chk); + efl_gfx_entity_visible_set(chk, EINA_TRUE); + hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); efl_gfx_size_hint_weight_set(hbox, EFL_GFX_SIZE_HINT_EXPAND, EFL_GFX_SIZE_HINT_EXPAND); efl_gfx_size_hint_align_set(hbox, EFL_GFX_SIZE_HINT_FILL, EFL_GFX_SIZE_HINT_FILL); - efl_gfx_visible_set(hbox, EINA_TRUE); + efl_gfx_entity_visible_set(hbox, EINA_TRUE); elm_box_pack_end(box, hbox); sld = elm_slider_add(win); @@ -149,7 +155,7 @@ test_ui_textpath(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve efl_gfx_size_hint_min_set(sld, EINA_SIZE2D(150, 0)); efl_event_callback_add(sld, EFL_UI_SLIDER_EVENT_CHANGED, _angle_changed_cb, txtpath); elm_box_pack_end(hbox, sld); - efl_gfx_visible_set(sld, EINA_TRUE); + efl_gfx_entity_visible_set(sld, EINA_TRUE); angle_sld = sld; sld = elm_slider_add(win); @@ -161,23 +167,23 @@ test_ui_textpath(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve efl_gfx_size_hint_min_set(sld, EINA_SIZE2D(150, 0)); efl_event_callback_add(sld, EFL_UI_SLIDER_EVENT_CHANGED, _slice_no_changed_cb, txtpath); elm_box_pack_end(hbox, sld); - efl_gfx_visible_set(sld, EINA_TRUE); + efl_gfx_entity_visible_set(sld, EINA_TRUE); slice_sld = sld; hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); efl_gfx_size_hint_weight_set(hbox, EFL_GFX_SIZE_HINT_EXPAND, EFL_GFX_SIZE_HINT_EXPAND); efl_gfx_size_hint_align_set(hbox, EFL_GFX_SIZE_HINT_FILL, EFL_GFX_SIZE_HINT_FILL); - efl_gfx_visible_set(hbox, EINA_TRUE); + efl_gfx_entity_visible_set(hbox, EINA_TRUE); elm_box_pack_end(box, hbox); btn = elm_button_add(win); elm_object_text_set(btn, "Change Path"); evas_object_smart_callback_add(btn, "clicked", _change_shape_cb, txtpath); elm_box_pack_end(hbox, btn); - efl_gfx_visible_set(btn, EINA_TRUE); + efl_gfx_entity_visible_set(btn, EINA_TRUE); elm_win_resize_object_add(win, box); - efl_gfx_size_set(win, EINA_SIZE2D(400, 400)); - efl_gfx_visible_set(win, 1); + efl_gfx_entity_size_set(win, EINA_SIZE2D(400, 400)); + efl_gfx_entity_visible_set(win, 1); } diff --git a/src/bin/elementary/test_ui_timepicker.c b/src/bin/elementary/test_ui_timepicker.c new file mode 100644 index 0000000000..cb88ef508b --- /dev/null +++ b/src/bin/elementary/test_ui_timepicker.c @@ -0,0 +1,36 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#include + +static void +_time_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev) +{ + int hour, min; + + efl_ui_timepicker_time_get(ev->object, &hour, &min); + printf("Current time is %d %d\n", hour, min); +} + + +void +test_ui_timepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *bx; + + win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_text_set(efl_added, "Efl.Ui.Timepicker"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + + bx = efl_add(EFL_UI_BOX_CLASS, win, + efl_content_set(win, efl_added), + efl_ui_direction_set(efl_added, EFL_UI_DIR_DOWN)); + + efl_add(EFL_UI_TIMEPICKER_CLASS, bx, + efl_ui_timepicker_time_set(efl_added, 11, 35), + efl_event_callback_add(efl_added, EFL_UI_TIMEPICKER_EVENT_CHANGED,_time_changed_cb, NULL), + efl_pack(bx, efl_added)); + + efl_gfx_entity_size_set(win, EINA_SIZE2D(150, 170)); +} diff --git a/src/bin/elementary/test_win_dialog.c b/src/bin/elementary/test_win_dialog.c index 7a10c258bf..6858cf85a9 100644 --- a/src/bin/elementary/test_win_dialog.c +++ b/src/bin/elementary/test_win_dialog.c @@ -60,7 +60,7 @@ _size_update(void *data, const Efl_Event *ev) cmin = efl_gfx_size_hint_combined_min_get(dia); min = efl_gfx_size_hint_min_get(dia); max = efl_gfx_size_hint_max_get(dia); - sz = efl_gfx_size_get(dia); + sz = efl_gfx_entity_size_get(dia); sprintf(buf, "This is a dialog with min/max size
" "Min size: %dx%d (requested) %dx%d (effective)
" @@ -83,8 +83,8 @@ _bt3_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_ //lb = efl_add(EFL_UI_TEXT_CLASS, dia);, lb = elm_label_add(dia); - efl_event_callback_add(dia, EFL_GFX_EVENT_CHANGE_SIZE_HINTS, _size_update, lb); - efl_event_callback_add(dia, EFL_GFX_EVENT_RESIZE, _size_update, lb); + efl_event_callback_add(dia, EFL_GFX_ENTITY_EVENT_CHANGE_SIZE_HINTS, _size_update, lb); + efl_event_callback_add(dia, EFL_GFX_ENTITY_EVENT_RESIZE, _size_update, lb); elm_object_text_set(lb, "This is a Dialog Window"); efl_gfx_size_hint_weight_set(lb, 1.0, 1.0); @@ -101,7 +101,7 @@ _bt4_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *even { Efl_Canvas_Object *dia, *lb; - dia = efl_add(EFL_UI_WIN_CLASS, NULL, + dia = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC), efl_ui_win_name_set(efl_added, "window-dia-4"), efl_ui_win_autodel_set(efl_added, EINA_TRUE), @@ -110,8 +110,8 @@ _bt4_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *even //lb = efl_add(EFL_UI_TEXT_CLASS, dia);, lb = elm_label_add(dia); - efl_event_callback_add(dia, EFL_GFX_EVENT_CHANGE_SIZE_HINTS, _size_update, lb); - efl_event_callback_add(dia, EFL_GFX_EVENT_RESIZE, _size_update, lb); + efl_event_callback_add(dia, EFL_GFX_ENTITY_EVENT_CHANGE_SIZE_HINTS, _size_update, lb); + efl_event_callback_add(dia, EFL_GFX_ENTITY_EVENT_RESIZE, _size_update, lb); elm_object_text_set(lb, "This is a Centered Dialog Window"); efl_gfx_size_hint_weight_set(lb, 1.0, 1.0); diff --git a/src/bin/elementary/test_win_indicator.c b/src/bin/elementary/test_win_indicator.c index d459a9eeab..99f54c589e 100644 --- a/src/bin/elementary/test_win_indicator.c +++ b/src/bin/elementary/test_win_indicator.c @@ -14,7 +14,7 @@ _create_indicator(void) { const char *indi_name; - Eo *win = efl_add(EFL_UI_WIN_SOCKET_CLASS, NULL, + Eo *win = efl_add_ref(EFL_UI_WIN_SOCKET_CLASS, NULL, efl_text_set(efl_added, "indicator"), efl_ui_win_autodel_set(efl_added, EINA_TRUE), efl_ui_win_alpha_set(efl_added, EINA_TRUE)); @@ -49,7 +49,7 @@ _create_indicator(void) efl_event_callback_add(efl_added, EFL_UI_CLOCK_EVENT_CHANGED, _changed_cb, NULL), efl_pack(bx, efl_added)); - efl_gfx_size_set(win, EINA_SIZE2D(300, 30)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 30)); return win; } @@ -91,13 +91,13 @@ test_win_indicator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e indicator = _create_indicator(); // FIXME: Resizing window should no cause sizing issues! - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), efl_text_set(efl_added, "Efl.Win.Indicator"), efl_gfx_size_hint_max_set(efl_added, EINA_SIZE2D(300, -1)), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); efl_event_callback_add(win, EFL_EVENT_DEL, _win_del, indicator); - efl_gfx_size_set(win, EINA_SIZE2D(300, 360)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 360)); Eo *bx = efl_add(EFL_UI_BOX_CLASS, win, efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(300, 0)), diff --git a/src/bin/elementary/test_win_stack.c b/src/bin/elementary/test_win_stack.c index 18f7c0fa7b..d13072d041 100644 --- a/src/bin/elementary/test_win_stack.c +++ b/src/bin/elementary/test_win_stack.c @@ -18,13 +18,13 @@ _win_new(Evas_Object *stack_top, const char *title) Evas_Object *bg, *bx, *bt, *lb, *win; if (level >= 3) - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_name_set(efl_added, "window-stack"), efl_ui_win_type_set(efl_added, ELM_WIN_NAVIFRAME_BASIC), efl_text_set(efl_added, title), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); else - win = efl_add(EFL_UI_WIN_CLASS, NULL, + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, efl_ui_win_name_set(efl_added, "window-stack"), efl_ui_win_type_set(efl_added, ELM_WIN_DIALOG_BASIC), efl_text_set(efl_added, title), diff --git a/src/bin/embryo/embryo_cc_sc1.c b/src/bin/embryo/embryo_cc_sc1.c index c3443dbc63..7c8283f0c9 100644 --- a/src/bin/embryo/embryo_cc_sc1.c +++ b/src/bin/embryo/embryo_cc_sc1.c @@ -44,6 +44,8 @@ #include "embryo_cc_sc.h" #include "embryo_cc_prefix.h" +#include "../../static_libs/buildsystem/buildsystem.h" + #define VERSION_STR "2.4" #define VERSION_INT 240 @@ -568,22 +570,13 @@ static void parseoptions(int argc, char **argv, char *iname, char *oname, char *pname EINA_UNUSED, char *rname EINA_UNUSED) { - char str[PATH_MAX]; + char str[PATH_MAX] = ""; int i, stack_size; size_t len; -#ifdef NEED_RUN_IN_TREE - str[0] = '\0'; - if (getenv("EFL_RUN_IN_TREE")) - { - struct stat st; - snprintf(str, sizeof(str), "%s/data/embryo", PACKAGE_SRC_DIR); - if (stat(str, &st) != 0) - str[0] = '\0'; - } + bs_data_path_get(str, sizeof(str), "embryo", ""); if (str[0] == '\0') -#endif snprintf(str, sizeof(str), "%s/include/", e_prefix_data_get()); /* use embryo include dir always */ diff --git a/src/bin/eolian/docs.c b/src/bin/eolian/docs.c index a38ac19ff7..bd2e0b68d5 100644 --- a/src/bin/eolian/docs.c +++ b/src/bin/eolian/docs.c @@ -19,13 +19,13 @@ _indent_line(Eina_Strbuf *buf, int ind) : DOC_LINE_LIMIT) static void -_generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf, +_generate_ref(const Eolian_State *state, const char *refn, Eina_Strbuf *wbuf, Eina_Bool use_legacy) { - const Eolian_Declaration *decl = eolian_declaration_get_by_name(src, refn); + const Eolian_Object *decl = eolian_state_object_by_name_get(state, refn); if (decl) { - char *n = strdup(eolian_declaration_name_get(decl)); + char *n = strdup(eolian_object_name_get(decl)); char *p = n; while ((p = strchr(p, '.'))) *p = '_'; eina_strbuf_append(wbuf, n); @@ -39,7 +39,7 @@ _generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf, Eina_Stringshare *bname = eina_stringshare_add_length(refn, sfx - refn); - const Eolian_Typedecl *tp = eolian_typedecl_struct_get_by_name(src, bname); + const Eolian_Typedecl *tp = eolian_state_struct_by_name_get(state, bname); if (tp) { if (!eolian_typedecl_struct_field_get(tp, sfx + 1)) @@ -47,13 +47,13 @@ _generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf, eina_stringshare_del(bname); goto noref; } - _generate_ref(src, bname, wbuf, use_legacy); + _generate_ref(state, bname, wbuf, use_legacy); eina_strbuf_append(wbuf, sfx); eina_stringshare_del(bname); return; } - tp = eolian_typedecl_enum_get_by_name(src, bname); + tp = eolian_state_enum_by_name_get(state, bname); if (tp) { const Eolian_Enum_Type_Field *efl = eolian_typedecl_enum_field_get(tp, sfx + 1); @@ -68,13 +68,13 @@ _generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf, return; } - const Eolian_Class *cl = eolian_class_get_by_name(src, bname); + const Eolian_Class *cl = eolian_state_class_by_name_get(state, bname); const Eolian_Function *fn = NULL; /* match methods and properties; we're only figuring out existence */ Eolian_Function_Type ftype = EOLIAN_UNRESOLVED; if (!cl) { - const char *mname; + const char *mname = NULL; if (!strcmp(sfx, ".get")) ftype = EOLIAN_PROP_GET; else if (!strcmp(sfx, ".set")) ftype = EOLIAN_PROP_SET; if (ftype != EOLIAN_UNRESOLVED) @@ -84,13 +84,13 @@ _generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf, while ((mname != refn) && (*mname != '.')) --mname; if (mname == refn) goto noref; bname = eina_stringshare_add_length(refn, mname - refn); - cl = eolian_class_get_by_name(src, bname); + cl = eolian_state_class_by_name_get(state, bname); eina_stringshare_del(bname); } if (cl) { char *meth = strndup(mname + 1, sfx - mname - 1); - fn = eolian_class_function_get_by_name(cl, meth, ftype); + fn = eolian_class_function_by_name_get(cl, meth, ftype); if (ftype == EOLIAN_UNRESOLVED) ftype = eolian_function_type_get(fn); free(meth); @@ -98,7 +98,7 @@ _generate_ref(const Eolian_Unit *src, const char *refn, Eina_Strbuf *wbuf, } else { - fn = eolian_class_function_get_by_name(cl, sfx + 1, ftype); + fn = eolian_class_function_by_name_get(cl, sfx + 1, ftype); ftype = eolian_function_type_get(fn); } @@ -114,7 +114,7 @@ noref: } static int -_append_section(const Eolian_Unit *src, const char *desc, int ind, int curl, +_append_section(const Eolian_State *state, const char *desc, int ind, int curl, Eina_Strbuf *buf, Eina_Strbuf *wbuf, Eina_Bool use_legacy) { Eina_Bool try_note = EINA_TRUE; @@ -166,7 +166,7 @@ _append_section(const Eolian_Unit *src, const char *desc, int ind, int curl, ++desc; if (*(desc - 1) == '.') --desc; Eina_Stringshare *refn = eina_stringshare_add_length(ref, desc - ref); - _generate_ref(src, refn, wbuf, use_legacy); + _generate_ref(state, refn, wbuf, use_legacy); eina_stringshare_del(refn); } else @@ -270,7 +270,7 @@ _append_group(Eina_Strbuf *buf, char *sgrp, int indent) } static void -_gen_doc_brief(const Eolian_Unit *src, const char *summary, const char *since, +_gen_doc_brief(const Eolian_State *state, const char *summary, const char *since, const char *group, const char *el, int indent, Eina_Strbuf *buf, Eina_Bool use_legacy) { @@ -280,7 +280,7 @@ _gen_doc_brief(const Eolian_Unit *src, const char *summary, const char *since, eina_strbuf_append(buf, "/**< "); else eina_strbuf_append(buf, "/** "); - curl = _append_section(src, summary, indent, curl, buf, wbuf, use_legacy); + curl = _append_section(state, summary, indent, curl, buf, wbuf, use_legacy); eina_strbuf_free(wbuf); curl = _append_extra(el, indent, curl, EINA_FALSE, buf); curl = _append_since(since, indent, curl, buf); @@ -301,7 +301,7 @@ _gen_doc_brief(const Eolian_Unit *src, const char *summary, const char *since, } static void -_gen_doc_full(const Eolian_Unit *src, const char *summary, +_gen_doc_full(const Eolian_State *state, const char *summary, const char *description, const char *since, const char *group, const char *el, int indent, Eina_Strbuf *buf, Eina_Bool use_legacy) @@ -315,13 +315,13 @@ _gen_doc_full(const Eolian_Unit *src, const char *summary, curl += _indent_line(buf, indent); eina_strbuf_append(buf, " * @brief "); curl += sizeof(" * @brief ") - 1; - _append_section(src, summary, indent, curl, buf, wbuf, use_legacy); + _append_section(state, summary, indent, curl, buf, wbuf, use_legacy); eina_strbuf_append_char(buf, '\n'); _indent_line(buf, indent); eina_strbuf_append(buf, " *\n"); curl = _indent_line(buf, indent); eina_strbuf_append(buf, " * "); - _append_section(src, description, indent, curl + 3, buf, wbuf, use_legacy); + _append_section(state, description, indent, curl + 3, buf, wbuf, use_legacy); curl = _append_extra(el, indent, curl, EINA_TRUE, buf); curl = _append_since(since, indent, curl, buf); eina_strbuf_append_char(buf, '\n'); @@ -338,7 +338,7 @@ _gen_doc_full(const Eolian_Unit *src, const char *summary, } static Eina_Strbuf * -_gen_doc_buf(const Eolian_Unit *src, const Eolian_Documentation *doc, +_gen_doc_buf(const Eolian_State *state, const Eolian_Documentation *doc, const char *group, const char *el, int indent, Eina_Bool use_legacy) { @@ -350,21 +350,21 @@ _gen_doc_buf(const Eolian_Unit *src, const Eolian_Documentation *doc, Eina_Strbuf *buf = eina_strbuf_new(); if (!desc) - _gen_doc_brief(src, sum, since, group, el, indent, buf, use_legacy); + _gen_doc_brief(state, sum, since, group, el, indent, buf, use_legacy); else - _gen_doc_full(src, sum, desc, since, group, el, indent, buf, use_legacy); + _gen_doc_full(state, sum, desc, since, group, el, indent, buf, use_legacy); return buf; } Eina_Strbuf * -eo_gen_docs_full_gen(const Eolian_Unit *src, const Eolian_Documentation *doc, +eo_gen_docs_full_gen(const Eolian_State *state, const Eolian_Documentation *doc, const char *group, int indent, Eina_Bool use_legacy) { - return _gen_doc_buf(src, doc, group, NULL, indent, use_legacy); + return _gen_doc_buf(state, doc, group, NULL, indent, use_legacy); } Eina_Strbuf * -eo_gen_docs_event_gen(const Eolian_Unit *src, const Eolian_Event *ev, +eo_gen_docs_event_gen(const Eolian_State *state, const Eolian_Event *ev, const char *group) { if (!ev) return NULL; @@ -377,7 +377,7 @@ eo_gen_docs_event_gen(const Eolian_Unit *src, const Eolian_Event *ev, if (rt) { p = buf; - Eina_Stringshare *rts = eolian_type_c_type_get(src, rt, EOLIAN_C_TYPE_DEFAULT); + Eina_Stringshare *rts = eolian_type_c_type_get(rt, EOLIAN_C_TYPE_DEFAULT); snprintf(buf, sizeof(buf), "@return %s", rts); eina_stringshare_del(rts); } @@ -396,11 +396,11 @@ eo_gen_docs_event_gen(const Eolian_Unit *src, const Eolian_Event *ev, return bufs; } - return _gen_doc_buf(src, doc, group, p, 0, EINA_FALSE); + return _gen_doc_buf(state, doc, group, p, 0, EINA_FALSE); } Eina_Strbuf * -eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, +eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid, Eolian_Function_Type ftype, int indent, Eina_Bool use_legacy) { @@ -420,7 +420,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, int curl = 0; - const char *group = eolian_class_full_name_get(eolian_function_class_get(fid)); + const char *group = eolian_class_name_get(eolian_function_class_get(fid)); const Eolian_Implement *fimp = eolian_function_implement_get(fid); @@ -511,7 +511,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, /* only summary, nothing else; generate standard brief doc */ if (!desc && !par && !vpar && !rdoc && (ftype == EOLIAN_METHOD || !pdoc)) { - _gen_doc_brief(src, sum ? sum : "No description supplied.", since, group, + _gen_doc_brief(state, sum ? sum : "No description supplied.", since, group, NULL, indent, buf, use_legacy); return buf; } @@ -522,7 +522,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, curl += _indent_line(buf, indent); eina_strbuf_append(buf, " * @brief "); curl += sizeof(" * @brief ") - 1; - _append_section(src, sum ? sum : "No description supplied.", + _append_section(state, sum ? sum : "No description supplied.", indent, curl, buf, wbuf, use_legacy); eina_strbuf_append_char(buf, '\n'); @@ -536,7 +536,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, { curl = _indent_line(buf, indent); eina_strbuf_append(buf, " * "); - _append_section(src, desc, indent, curl + 3, buf, wbuf, use_legacy); + _append_section(state, desc, indent, curl + 3, buf, wbuf, use_legacy); eina_strbuf_append_char(buf, '\n'); if (par || rdoc || pdoc || since) { @@ -550,7 +550,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, const char *pdesc = eolian_documentation_description_get(pdoc); curl = _indent_line(buf, indent); eina_strbuf_append(buf, " * "); - _append_section(src, eolian_documentation_summary_get(pdoc), indent, + _append_section(state, eolian_documentation_summary_get(pdoc), indent, curl + 3, buf, wbuf, use_legacy); eina_strbuf_append_char(buf, '\n'); if (pdesc) @@ -559,7 +559,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, eina_strbuf_append(buf, " *\n"); curl = _indent_line(buf, indent); eina_strbuf_append(buf, " * "); - _append_section(src, pdesc, indent, curl + 3, buf, wbuf, use_legacy); + _append_section(state, pdesc, indent, curl + 3, buf, wbuf, use_legacy); eina_strbuf_append_char(buf, '\n'); } if (par || rdoc || since) @@ -613,7 +613,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, { eina_strbuf_append_char(buf, ' '); curl += 1; - _append_section(src, eolian_documentation_summary_get(adoc), + _append_section(state, eolian_documentation_summary_get(adoc), indent, curl, buf, wbuf, use_legacy); } @@ -646,7 +646,7 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const Eolian_Function *fid, curl = _indent_line(buf, indent); eina_strbuf_append(buf, " * @return "); curl += sizeof(" * @return ") - 1; - _append_section(src, eolian_documentation_summary_get(rdoc), indent, + _append_section(state, eolian_documentation_summary_get(rdoc), indent, curl, buf, wbuf, use_legacy); eina_strbuf_append_char(buf, '\n'); if (since) diff --git a/src/bin/eolian/docs.h b/src/bin/eolian/docs.h index 69dbc3e433..79112f9758 100644 --- a/src/bin/eolian/docs.h +++ b/src/bin/eolian/docs.h @@ -14,7 +14,7 @@ * @return A documentation comment * */ -Eina_Strbuf *eo_gen_docs_full_gen(const Eolian_Unit *unit, const Eolian_Documentation *doc, const char *group, int indent, Eina_Bool use_legacy); +Eina_Strbuf *eo_gen_docs_full_gen(const Eolian_State *state, const Eolian_Documentation *doc, const char *group, int indent, Eina_Bool use_legacy); /* * @brief Generate function documentation @@ -27,7 +27,7 @@ Eina_Strbuf *eo_gen_docs_full_gen(const Eolian_Unit *unit, const Eolian_Document * @return A documentation comment * */ -Eina_Strbuf *eo_gen_docs_func_gen(const Eolian_Unit *unit, const Eolian_Function *fid, Eolian_Function_Type ftype, int indent, Eina_Bool use_legacy); +Eina_Strbuf *eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid, Eolian_Function_Type ftype, int indent, Eina_Bool use_legacy); /* * @brief Generate event documentation @@ -38,7 +38,7 @@ Eina_Strbuf *eo_gen_docs_func_gen(const Eolian_Unit *unit, const Eolian_Function * @return A documentation comment * */ -Eina_Strbuf *eo_gen_docs_event_gen(const Eolian_Unit *unit, const Eolian_Event *ev, const char *group); +Eina_Strbuf *eo_gen_docs_event_gen(const Eolian_State *state, const Eolian_Event *ev, const char *group); #endif diff --git a/src/bin/eolian/headers.c b/src/bin/eolian/headers.c index b2fe73a00c..4ebf9a7fdd 100644 --- a/src/bin/eolian/headers.c +++ b/src/bin/eolian/headers.c @@ -12,13 +12,13 @@ _get_add_star(Eolian_Function_Type ftype, Eolian_Parameter_Dir pdir) } static int -_gen_param(const Eolian_Unit *src, Eina_Strbuf *buf, - Eolian_Function_Parameter *pr, Eolian_Function_Type ftype, int *rpid) +_gen_param(Eina_Strbuf *buf, Eolian_Function_Parameter *pr, + Eolian_Function_Type ftype, int *rpid) { const Eolian_Type *prt = eolian_parameter_type_get(pr); - const Eolian_Typedecl *ptd = eolian_type_typedecl_get(src, prt); + const Eolian_Typedecl *ptd = eolian_type_typedecl_get(prt); const char *prn = eolian_parameter_name_get(pr); - Eina_Stringshare *prtn = eolian_type_c_type_get(src, prt, EOLIAN_C_TYPE_PARAM); + Eina_Stringshare *prtn = eolian_type_c_type_get(prt, EOLIAN_C_TYPE_PARAM); if (ptd && (eolian_typedecl_type_get(ptd) == EOLIAN_TYPEDECL_FUNCTION_POINTER)) { @@ -40,7 +40,7 @@ _gen_param(const Eolian_Unit *src, Eina_Strbuf *buf, } void -eo_gen_params(const Eolian_Unit *src, Eina_Iterator *itr, Eina_Strbuf *buf, +eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf **flagbuf, int *nidx, Eolian_Function_Type ftype) { Eolian_Function_Parameter *pr; @@ -49,7 +49,7 @@ eo_gen_params(const Eolian_Unit *src, Eina_Iterator *itr, Eina_Strbuf *buf, int rpid = 0; if (*nidx) eina_strbuf_append(buf, ", "); - *nidx += _gen_param(src, buf, pr, ftype, &rpid); + *nidx += _gen_param(buf, pr, ftype, &rpid); if (!eolian_parameter_is_nonull(pr) || !flagbuf) continue; @@ -66,7 +66,7 @@ eo_gen_params(const Eolian_Unit *src, Eina_Iterator *itr, Eina_Strbuf *buf, } static void -_gen_func(const Eolian_Unit *src, const Eolian_Function *fid, +_gen_func(const Eolian_State *state, const Eolian_Function *fid, Eolian_Function_Type ftype, Eina_Strbuf *buf, char *cname, char *cnameu, Eina_Bool legacy) { @@ -104,7 +104,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function *fid, hasdoc = !!eolian_implement_documentation_get(fimp, EOLIAN_PROPERTY); if (hasdoc) { - Eina_Strbuf *dbuf = eo_gen_docs_func_gen(src, fid, ftype, 0, legacy); + Eina_Strbuf *dbuf = eo_gen_docs_func_gen(state, fid, ftype, 0, legacy); eina_strbuf_append(buf, eina_strbuf_string_get(dbuf)); eina_strbuf_append_char(buf, '\n'); eina_strbuf_free(dbuf); @@ -112,7 +112,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function *fid, eina_strbuf_append(buf, legacy ? "EAPI " : "EOAPI "); if (rtp) { - Eina_Stringshare *rtps = eolian_type_c_type_get(src, rtp, EOLIAN_C_TYPE_RETURN); + Eina_Stringshare *rtps = eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN); eina_strbuf_append(buf, rtps); if (rtps[strlen(rtps) - 1] != '*') eina_strbuf_append_char(buf, ' '); @@ -141,7 +141,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function *fid, eina_strbuf_append(buf, "Eo *obj"); } - eo_gen_params(src, eolian_property_keys_get(fid, ftype), buf, &flagbuf, &nidx, EOLIAN_PROPERTY); + eo_gen_params(eolian_property_keys_get(fid, ftype), buf, &flagbuf, &nidx, EOLIAN_PROPERTY); if (!var_as_ret) { @@ -150,7 +150,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function *fid, itr = eolian_property_values_get(fid, ftype); else itr = eolian_function_parameters_get(fid); - eo_gen_params(src, itr, buf, &flagbuf, &nidx, ftype); + eo_gen_params(itr, buf, &flagbuf, &nidx, ftype); } if (flagbuf) @@ -181,7 +181,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function *fid, } void -eo_gen_header_gen(const Eolian_Unit *src, const Eolian_Class *cl, +eo_gen_header_gen(const Eolian_State *state, const Eolian_Class *cl, Eina_Strbuf *buf, Eina_Bool legacy) { if (!cl) @@ -197,8 +197,8 @@ eo_gen_header_gen(const Eolian_Unit *src, const Eolian_Class *cl, const Eolian_Documentation *doc = eolian_class_documentation_get(cl); if (doc) { - Eina_Strbuf *cdoc = eo_gen_docs_full_gen(src, doc, - eolian_class_full_name_get(cl), 0, EINA_FALSE); + Eina_Strbuf *cdoc = eo_gen_docs_full_gen(state, doc, + eolian_class_name_get(cl), 0, EINA_FALSE); if (cdoc) { eina_strbuf_append(buf, eina_strbuf_string_get(cdoc)); @@ -237,15 +237,15 @@ eo_gen_header_gen(const Eolian_Unit *src, const Eolian_Class *cl, { case EOLIAN_PROP_GET: case EOLIAN_PROP_SET: - _gen_func(src, fid, ftype, buf, cname, cnameu, legacy); + _gen_func(state, fid, ftype, buf, cname, cnameu, legacy); break; case EOLIAN_PROPERTY: - _gen_func(src, fid, EOLIAN_PROP_SET, buf, cname, cnameu, legacy); + _gen_func(state, fid, EOLIAN_PROP_SET, buf, cname, cnameu, legacy); eina_strbuf_append_char(buf, '\n'); - _gen_func(src, fid, EOLIAN_PROP_GET, buf, cname, cnameu, legacy); + _gen_func(state, fid, EOLIAN_PROP_GET, buf, cname, cnameu, legacy); break; default: - _gen_func(src, fid, EOLIAN_METHOD, buf, cname, cnameu, legacy); + _gen_func(state, fid, EOLIAN_METHOD, buf, cname, cnameu, legacy); } } eina_iterator_free(itr); @@ -282,8 +282,8 @@ events: eina_strbuf_append_printf(buf, "EWAPI extern const " "Efl_Event_Description _%s;\n\n", evn); - Eina_Strbuf *evdbuf = eo_gen_docs_event_gen(src, ev, - eolian_class_full_name_get(cl)); + Eina_Strbuf *evdbuf = eo_gen_docs_event_gen(state, ev, + eolian_class_name_get(cl)); eina_strbuf_append(buf, eina_strbuf_string_get(evdbuf)); eina_strbuf_append_char(buf, '\n'); eina_strbuf_free(evdbuf); diff --git a/src/bin/eolian/headers.h b/src/bin/eolian/headers.h index 41c7658b96..94fd89b908 100644 --- a/src/bin/eolian/headers.h +++ b/src/bin/eolian/headers.h @@ -3,7 +3,7 @@ #include "main.h" -void eo_gen_params(const Eolian_Unit *src, Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf **flagbuf, int *nidx, Eolian_Function_Type ftype); -void eo_gen_header_gen(const Eolian_Unit *src, const Eolian_Class *cl, Eina_Strbuf *buf, Eina_Bool legacy); +void eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf **flagbuf, int *nidx, Eolian_Function_Type ftype); +void eo_gen_header_gen(const Eolian_State *state, const Eolian_Class *cl, Eina_Strbuf *buf, Eina_Bool legacy); #endif diff --git a/src/bin/eolian/main.c b/src/bin/eolian/main.c index 4c51e18d17..db8ea371dd 100644 --- a/src/bin/eolian/main.c +++ b/src/bin/eolian/main.c @@ -282,7 +282,7 @@ void eo_gen_class_names_get(const Eolian_Class *cl, char **cname, char **cnameu, char **cnamel) { char *cn = NULL, *cnu = NULL, *cnl = NULL; - cn = eo_gen_c_full_name_get(eolian_class_full_name_get(cl)); + cn = eo_gen_c_full_name_get(eolian_class_name_get(cl)); if (!cn) abort(); if (cname) @@ -318,17 +318,17 @@ void eo_gen_class_names_get(const Eolian_Class *cl, char **cname, } static Eina_Bool -_write_header(const Eolian *eos, const Eolian_Unit *src, const char *ofname, +_write_header(const Eolian_State *eos, const Eolian_State *state, const char *ofname, const char *ifname, Eina_Bool legacy) { INF("generating header: %s (legacy: %d)", ofname, legacy); Eina_Strbuf *buf = eina_strbuf_new(); - eo_gen_types_header_gen(src, eolian_declarations_get_by_file(eos, ifname), + eo_gen_types_header_gen(state, eolian_state_objects_by_file_get(eos, ifname), buf, EINA_TRUE, legacy); buf = _include_guard(ifname, "TYPES", buf); - Eina_Strbuf *cltd = eo_gen_class_typedef_gen(src, ifname); + Eina_Strbuf *cltd = eo_gen_class_typedef_gen(eos, ifname); if (cltd) { cltd = _include_guard(ifname, "CLASS_TYPE", cltd); @@ -337,8 +337,8 @@ _write_header(const Eolian *eos, const Eolian_Unit *src, const char *ofname, eina_strbuf_free(cltd); } - const Eolian_Class *cl = eolian_class_get_by_file(src, ifname); - eo_gen_header_gen(src, cl, buf, legacy); + const Eolian_Class *cl = eolian_state_class_by_file_get(eos, ifname); + eo_gen_header_gen(state, cl, buf, legacy); if (cl || !legacy) { buf = _include_guard(_get_filename(ofname), NULL, buf); @@ -354,16 +354,16 @@ _write_header(const Eolian *eos, const Eolian_Unit *src, const char *ofname, } static Eina_Bool -_write_stub_header(const Eolian *eos, const Eolian_Unit *src, const char *ofname, +_write_stub_header(const Eolian_State *eos, const Eolian_State *state, const char *ofname, const char *ifname) { INF("generating stub header: %s", ofname); Eina_Strbuf *buf = eina_strbuf_new(); - eo_gen_types_header_gen(src, eolian_declarations_get_by_file(eos, ifname), + eo_gen_types_header_gen(state, eolian_state_objects_by_file_get(eos, ifname), buf, EINA_FALSE, EINA_FALSE); - Eina_Strbuf *cltd = eo_gen_class_typedef_gen(src, ifname); + Eina_Strbuf *cltd = eo_gen_class_typedef_gen(eos, ifname); if (cltd) { eina_strbuf_prepend_char(buf, '\n'); @@ -379,15 +379,15 @@ _write_stub_header(const Eolian *eos, const Eolian_Unit *src, const char *ofname } static Eina_Bool -_write_source(const Eolian *eos, const Eolian_Unit *src, const char *ofname, +_write_source(const Eolian_State *eos, const char *ofname, const char *ifname, Eina_Bool eot) { INF("generating source: %s", ofname); Eina_Strbuf *buf = eina_strbuf_new(); - const Eolian_Class *cl = eolian_class_get_by_file(src, ifname); - eo_gen_types_source_gen(src, eolian_declarations_get_by_file(eos, ifname), buf); - eo_gen_source_gen(src, cl, buf); + const Eolian_Class *cl = eolian_state_class_by_file_get(eos, ifname); + eo_gen_types_source_gen(eolian_state_objects_by_file_get(eos, ifname), buf); + eo_gen_source_gen(cl, buf); if (cl || (eot && eina_strbuf_length_get(buf))) { if (_write_file(ofname, buf)) @@ -402,11 +402,11 @@ _write_source(const Eolian *eos, const Eolian_Unit *src, const char *ofname, } static Eina_Bool -_write_impl(const Eolian_Unit *src, const char *ofname, const char *ifname) +_write_impl(const Eolian_State *eos, const char *ofname, const char *ifname) { INF("generating impl: %s", ofname); - const Eolian_Class *cl = eolian_class_get_by_file(src, ifname); + const Eolian_Class *cl = eolian_state_class_by_file_get(eos, ifname); if (!cl) return EINA_FALSE; @@ -414,7 +414,7 @@ _write_impl(const Eolian_Unit *src, const char *ofname, const char *ifname) if (!_read_file(ofname, &buf)) return EINA_FALSE; - eo_gen_impl_gen(src, cl, buf); + eo_gen_impl_gen(cl, buf); Eina_Bool ret = _write_file(ofname, buf); eina_strbuf_free(buf); return ret; @@ -432,7 +432,7 @@ main(int argc, char **argv) eina_init(); eolian_init(); - Eolian *eos = eolian_new(); + Eolian_State *eos = eolian_state_new(); const char *dom = "eolian_gen"; _eolian_gen_log_dom = eina_log_domain_register(dom, EINA_COLOR_GREEN); @@ -534,7 +534,7 @@ main(int argc, char **argv) if (scan_system) { - if (!eolian_system_directory_scan(eos)) + if (!eolian_state_system_directory_add(eos)) { fprintf(stderr, "eolian: could not scan system directory\n"); goto end; @@ -544,15 +544,14 @@ main(int argc, char **argv) const char *inc; EINA_LIST_FREE(includes, inc) { - if (!eolian_directory_scan(eos, inc)) + if (!eolian_state_directory_add(eos, inc)) { fprintf(stderr, "eolian: could not scan '%s'\n", inc); goto end; } } - const Eolian_Unit *src = eolian_file_parse(eos, input); - if (!src) + if (!eolian_state_file_parse(eos, input)) { fprintf(stderr, "eolian: could not parse file '%s'\n", input); goto end; @@ -567,15 +566,15 @@ main(int argc, char **argv) Eina_Bool succ = EINA_TRUE; if (gen_what & GEN_H) - succ = _write_header(eos, src, outs[_get_bit_pos(GEN_H)], eobn, EINA_FALSE); + succ = _write_header(eos, eos, outs[_get_bit_pos(GEN_H)], eobn, EINA_FALSE); if (succ && (gen_what & GEN_H_LEGACY)) - succ = _write_header(eos, src, outs[_get_bit_pos(GEN_H_LEGACY)], eobn, EINA_TRUE); + succ = _write_header(eos, eos, outs[_get_bit_pos(GEN_H_LEGACY)], eobn, EINA_TRUE); if (succ && (gen_what & GEN_H_STUB)) - succ = _write_stub_header(eos, src, outs[_get_bit_pos(GEN_H_STUB)], eobn); + succ = _write_stub_header(eos, eos, outs[_get_bit_pos(GEN_H_STUB)], eobn); if (succ && (gen_what & GEN_C)) - succ = _write_source(eos, src, outs[_get_bit_pos(GEN_C)], eobn, !strcmp(ext, ".eot")); + succ = _write_source(eos, outs[_get_bit_pos(GEN_C)], eobn, !strcmp(ext, ".eot")); if (succ && (gen_what & GEN_C_IMPL)) - succ = _write_impl(src, outs[_get_bit_pos(GEN_C_IMPL)], eobn); + succ = _write_impl(eos, outs[_get_bit_pos(GEN_C_IMPL)], eobn); if (!succ) goto end; @@ -593,7 +592,7 @@ end: free(outs[i]); free(basen); - eolian_free(eos); + eolian_state_free(eos); eolian_shutdown(); eina_shutdown(); diff --git a/src/bin/eolian/sources.c b/src/bin/eolian/sources.c index a012e8c602..3ac3b48391 100644 --- a/src/bin/eolian/sources.c +++ b/src/bin/eolian/sources.c @@ -103,12 +103,11 @@ _gen_func_pointer_param(const char *name, Eina_Stringshare *c_type, } static void -_append_defval(const Eolian_Unit *src, Eina_Strbuf *buf, - const Eolian_Expression *exp, const Eolian_Type *tp) +_append_defval(Eina_Strbuf *buf, const Eolian_Expression *exp, const Eolian_Type *tp) { if (exp) { - Eolian_Value val = eolian_expression_eval_type(src, exp, tp); + Eolian_Value val = eolian_expression_eval_type(exp, tp); Eina_Stringshare *lit = eolian_expression_value_to_literal(&val); if (lit) { @@ -123,16 +122,16 @@ _append_defval(const Eolian_Unit *src, Eina_Strbuf *buf, else WRN("evaluation of default value failed"); } /* default value or fallback */ - const Eolian_Type *btp = eolian_type_aliased_base_get(src, tp); + const Eolian_Type *btp = eolian_type_aliased_base_get(tp); if (eolian_type_is_ptr(btp)) { eina_strbuf_append(buf, "NULL"); return; } - const Eolian_Typedecl *tdcl = eolian_type_typedecl_get(src, btp); + const Eolian_Typedecl *tdcl = eolian_type_typedecl_get(btp); if (tdcl && (eolian_typedecl_type_get(tdcl) == EOLIAN_TYPEDECL_STRUCT)) { - char *sn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tdcl)); + char *sn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tdcl)); if (eina_streq(sn, "Eina_Rect")) eina_strbuf_append(buf, "(EINA_RECT_EMPTY())"); else @@ -140,7 +139,7 @@ _append_defval(const Eolian_Unit *src, Eina_Strbuf *buf, free(sn); return; } - Eina_Stringshare *ctp = eolian_type_c_type_get(src, btp, EOLIAN_C_TYPE_DEFAULT); + Eina_Stringshare *ctp = eolian_type_c_type_get(btp, EOLIAN_C_TYPE_DEFAULT); if (strchr(ctp, '*')) { eina_strbuf_append(buf, "NULL"); @@ -157,7 +156,7 @@ _generate_normal_free(Eina_Strbuf **buf, const Eolian_Type *type, const Eina_Str const char *free_func = eolian_type_free_func_get(type); if (!free_func) { - printf("No free type %s\n", eolian_type_name_get(type)); + printf("No free type %s\n", eolian_type_short_name_get(type)); return; } @@ -182,7 +181,7 @@ _generate_loop_content(Eina_Strbuf **buf, const Eolian_Type *inner_type, const E } static void -_generate_iterative_free(const Eolian_Unit *src, Eina_Strbuf **buf, const Eolian_Type *type, const Eolian_Type *inner_type, Eolian_Function_Parameter *parameter, Eina_Strbuf *param) +_generate_iterative_free(Eina_Strbuf **buf, const Eolian_Type *type, const Eolian_Type *inner_type, Eolian_Function_Parameter *parameter, Eina_Strbuf *param) { Eina_Strbuf *iterator_header, *iter_param; @@ -194,7 +193,7 @@ _generate_iterative_free(const Eolian_Unit *src, Eina_Strbuf **buf, const Eolian eina_strbuf_append_printf(iter_param, "%s_iter", eolian_parameter_name_get(parameter)); //generate the field definition - eina_strbuf_append_printf(*buf, " %s", eolian_type_c_type_get(src, inner_type, EOLIAN_C_TYPE_DEFAULT)); + eina_strbuf_append_printf(*buf, " %s", eolian_type_c_type_get(inner_type, EOLIAN_C_TYPE_DEFAULT)); if(t == EOLIAN_TYPE_BUILTIN_INARRAY || t == EOLIAN_TYPE_BUILTIN_INLIST) { @@ -269,9 +268,9 @@ _generate_iterative_free(const Eolian_Unit *src, Eina_Strbuf **buf, const Eolian } static void -_gen_func(const Eolian_Unit *src, const Eolian_Class *cl, - const Eolian_Function *fid, Eolian_Function_Type ftype, - Eina_Strbuf *buf, const Eolian_Implement *impl, Eina_Strbuf *lbuf) +_gen_func(const Eolian_Class *cl, const Eolian_Function *fid, + Eolian_Function_Type ftype, Eina_Strbuf *buf, + const Eolian_Implement *impl, Eina_Strbuf *lbuf) { Eina_Bool is_empty = eolian_implement_is_empty(impl, ftype); Eina_Bool is_auto = eolian_implement_is_auto(impl, ftype); @@ -317,9 +316,6 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, Eina_Strbuf *params_init = eina_strbuf_new(); /* default value inits */ Eina_Strbuf *fallback_free_ownership = eina_strbuf_new(); /* list of function calls that are freeing the owned parameters, or doing nothing on the normal parameters, NULL if there is nothing owned*/ - Eina_Stringshare *promise_param_name = NULL; - Eina_Stringshare *promise_param_type = NULL; - /* property keys */ { Eina_Iterator *itr = eolian_property_keys_get(fid, ftype); @@ -328,7 +324,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, { const char *prn = eolian_parameter_name_get(pr); const Eolian_Type *pt = eolian_parameter_type_get(pr); - Eina_Stringshare *ptn = eolian_type_c_type_get(src, pt, EOLIAN_C_TYPE_PARAM); + Eina_Stringshare *ptn = eolian_type_c_type_get(pt, EOLIAN_C_TYPE_PARAM); if (eina_strbuf_length_get(params)) eina_strbuf_append(params, ", "); @@ -400,7 +396,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, } else if (inner_type && eolian_type_is_owned(inner_type)) { - _generate_iterative_free(src, &fallback_free_ownership, type, inner_type, pr, param_call); + _generate_iterative_free(&fallback_free_ownership, type, inner_type, pr, param_call); } } eina_iterator_free(itr); @@ -429,8 +425,8 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, const Eolian_Expression *dfv = eolian_parameter_default_value_get(pr); const char *prn = eolian_parameter_name_get(pr); const Eolian_Type *pt = eolian_parameter_type_get(pr); - Eina_Stringshare *ptn = eolian_type_c_type_get(src, pt, EOLIAN_C_TYPE_PARAM); - const Eolian_Typedecl *ptd = eolian_type_typedecl_get(src, pt); + Eina_Stringshare *ptn = eolian_type_c_type_get(pt, EOLIAN_C_TYPE_PARAM); + const Eolian_Typedecl *ptd = eolian_type_typedecl_get(pt); Eina_Bool had_star = ptn[strlen(ptn) - 1] == '*'; const char *add_star = _get_add_star(ftype, pd); @@ -474,7 +470,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, } else if ((ftype != EOLIAN_PROP_SET) && dfv) { - Eolian_Value val = eolian_expression_eval(src, dfv, EOLIAN_MASK_ALL); + Eolian_Value val = eolian_expression_eval(dfv, EOLIAN_MASK_ALL); if (val.type) { Eina_Stringshare *vals = eolian_expression_value_to_literal(&val); @@ -501,7 +497,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, if (impl_same_class && eolian_implement_is_pure_virtual(impl, ftype)) impl_need = EINA_FALSE; - Eina_Stringshare *rtpn = rtp ? eolian_type_c_type_get(src, rtp, EOLIAN_C_TYPE_RETURN) + Eina_Stringshare *rtpn = rtp ? eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN) : eina_stringshare_add("void"); char *cname = NULL, *cnamel = NULL, *ocnamel = NULL; @@ -534,7 +530,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, eina_strbuf_append(buf, func_suffix); /* ([const ]Eo *obj, Data_Type *pd, impl_full_params); */ eina_strbuf_append_char(buf, '('); - if (eolian_function_object_is_const(fid)) + if ((ftype == EOLIAN_PROP_GET) || eolian_function_object_is_const(fid)) eina_strbuf_append(buf, "const "); eina_strbuf_append(buf, "Eo *obj, "); eina_strbuf_append(buf, dt); @@ -565,7 +561,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, eina_strbuf_append(buf, eolian_function_name_get(fid)); eina_strbuf_append(buf, func_suffix); eina_strbuf_append_char(buf, '('); - if (eolian_function_object_is_const(fid)) + if ((ftype == EOLIAN_PROP_GET) || eolian_function_object_is_const(fid)) eina_strbuf_append(buf, "const "); eina_strbuf_append(buf, "Eo *obj"); if (is_empty || is_auto) @@ -585,7 +581,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, if (rtp) { eina_strbuf_append(buf, " return "); - _append_defval(src, buf, def_ret, rtp); + _append_defval(buf, def_ret, rtp); eina_strbuf_append(buf, ";\n"); } eina_strbuf_append(buf, "}\n\n"); @@ -660,7 +656,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, if (strcmp(rtpn, "void")) { eina_strbuf_append_printf(buf, ", %s, ", rtpn); - _append_defval(src, buf, def_ret, rtp); + _append_defval(buf, def_ret, rtp); } if (fallback_free_ownership) @@ -728,9 +724,6 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl, eina_stringshare_del(rtpn); - eina_stringshare_del(promise_param_name); - eina_stringshare_del(promise_param_type); - eina_strbuf_free(params); eina_strbuf_free(params_full); eina_strbuf_free(params_full_imp); @@ -872,8 +865,7 @@ _gen_initializer(const Eolian_Class *cl, Eina_Strbuf *buf) } void -eo_gen_source_gen(const Eolian_Unit *src, - const Eolian_Class *cl, Eina_Strbuf *buf) +eo_gen_source_gen(const Eolian_Class *cl, Eina_Strbuf *buf) { if (!cl) return; @@ -918,14 +910,14 @@ eo_gen_source_gen(const Eolian_Unit *src, { case EOLIAN_PROP_GET: case EOLIAN_PROP_SET: - _gen_func(src, cl, fid, ftype, buf, imp, lbuf); + _gen_func(cl, fid, ftype, buf, imp, lbuf); break; case EOLIAN_PROPERTY: - _gen_func(src, cl, fid, EOLIAN_PROP_SET, buf, imp, lbuf); - _gen_func(src, cl, fid, EOLIAN_PROP_GET, buf, imp, lbuf); + _gen_func(cl, fid, EOLIAN_PROP_SET, buf, imp, lbuf); + _gen_func(cl, fid, EOLIAN_PROP_GET, buf, imp, lbuf); break; default: - _gen_func(src, cl, fid, EOLIAN_METHOD, buf, imp, lbuf); + _gen_func(cl, fid, EOLIAN_METHOD, buf, imp, lbuf); } } eina_iterator_free(itr); @@ -939,7 +931,7 @@ eo_gen_source_gen(const Eolian_Unit *src, eina_strbuf_append(buf, cnamel); eina_strbuf_append(buf, "_class_desc = {\n" " EO_VERSION,\n"); - eina_strbuf_append_printf(buf, " \"%s\",\n", eolian_class_full_name_get(cl)); + eina_strbuf_append_printf(buf, " \"%s\",\n", eolian_class_name_get(cl)); switch (eolian_class_type_get(cl)) { @@ -1018,9 +1010,8 @@ eo_gen_source_gen(const Eolian_Unit *src, } static void -_gen_params(const Eolian_Unit *src, const Eolian_Function *fid, - Eolian_Function_Type ftype, Eina_Bool var_as_ret, - Eina_Strbuf *params, Eina_Strbuf *params_full) +_gen_params(const Eolian_Function *fid, Eolian_Function_Type ftype, + Eina_Bool var_as_ret, Eina_Strbuf *params, Eina_Strbuf *params_full) { Eina_Bool is_prop = (ftype == EOLIAN_PROP_GET || ftype == EOLIAN_PROP_SET); @@ -1032,7 +1023,7 @@ _gen_params(const Eolian_Unit *src, const Eolian_Function *fid, { const char *prn = eolian_parameter_name_get(pr); const Eolian_Type *pt = eolian_parameter_type_get(pr); - Eina_Stringshare *ptn = eolian_type_c_type_get(src, pt, EOLIAN_C_TYPE_PARAM); + Eina_Stringshare *ptn = eolian_type_c_type_get(pt, EOLIAN_C_TYPE_PARAM); eina_strbuf_append(params, ", "); eina_strbuf_append(params, prn); @@ -1061,8 +1052,8 @@ _gen_params(const Eolian_Unit *src, const Eolian_Function *fid, Eolian_Parameter_Dir pd = eolian_parameter_direction_get(pr); const char *prn = eolian_parameter_name_get(pr); const Eolian_Type *pt = eolian_parameter_type_get(pr); - const Eolian_Typedecl *ptd = eolian_type_typedecl_get(src, pt); - Eina_Stringshare *ptn = eolian_type_c_type_get(src, pt, EOLIAN_C_TYPE_PARAM); + const Eolian_Typedecl *ptd = eolian_type_typedecl_get(pt); + Eina_Stringshare *ptn = eolian_type_c_type_get(pt, EOLIAN_C_TYPE_PARAM); if (ptd && eolian_typedecl_type_get(ptd) == EOLIAN_TYPEDECL_FUNCTION_POINTER) { @@ -1093,10 +1084,9 @@ _gen_params(const Eolian_Unit *src, const Eolian_Function *fid, } static void -_gen_proto(const Eolian_Unit *src, const Eolian_Class *cl, - const Eolian_Function *fid, Eolian_Function_Type ftype, - Eina_Strbuf *buf, const Eolian_Implement *impl, const char *dtype, - const char *cnamel) +_gen_proto(const Eolian_Class *cl, const Eolian_Function *fid, + Eolian_Function_Type ftype, Eina_Strbuf *buf, + const Eolian_Implement *impl, const char *dtype, const char *cnamel) { Eina_Bool impl_same_class = (eolian_implement_class_get(impl) == cl); if (impl_same_class && eolian_implement_is_pure_virtual(impl, ftype)) @@ -1142,7 +1132,7 @@ _gen_proto(const Eolian_Unit *src, const Eolian_Class *cl, eina_strbuf_append(buf, "EOLIAN static "); if (rtp) { - Eina_Stringshare *rtpn = eolian_type_c_type_get(src, rtp, EOLIAN_C_TYPE_RETURN); + Eina_Stringshare *rtpn = eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN); eina_strbuf_append(buf, rtpn); eina_stringshare_del(rtpn); } @@ -1151,7 +1141,7 @@ _gen_proto(const Eolian_Unit *src, const Eolian_Class *cl, eina_strbuf_append_printf(buf, "\n%s(", fname); - if (eolian_function_object_is_const(fid)) + if ((ftype == EOLIAN_PROP_GET) || eolian_function_object_is_const(fid)) eina_strbuf_append(buf, "const "); eina_strbuf_append(buf, "Eo *obj, "); @@ -1163,7 +1153,7 @@ _gen_proto(const Eolian_Unit *src, const Eolian_Class *cl, /* gen params here */ Eina_Strbuf *params = eina_strbuf_new(); Eina_Strbuf *params_full = eina_strbuf_new(); - _gen_params(src, fid, ftype, var_as_ret, params, params_full); + _gen_params(fid, ftype, var_as_ret, params, params_full); if (eina_strbuf_length_get(params_full)) eina_strbuf_append(buf, eina_strbuf_string_get(params_full)); @@ -1193,8 +1183,7 @@ _gen_proto(const Eolian_Unit *src, const Eolian_Class *cl, } void -eo_gen_impl_gen(const Eolian_Unit *src, - const Eolian_Class *cl, Eina_Strbuf *buf) +eo_gen_impl_gen(const Eolian_Class *cl, Eina_Strbuf *buf) { if (!cl) return; @@ -1244,14 +1233,14 @@ eo_gen_impl_gen(const Eolian_Unit *src, { case EOLIAN_PROP_GET: case EOLIAN_PROP_SET: - _gen_proto(src, cl, fid, ftype, buf, imp, dt, cnamel); + _gen_proto(cl, fid, ftype, buf, imp, dt, cnamel); break; case EOLIAN_PROPERTY: - _gen_proto(src, cl, fid, EOLIAN_PROP_SET, buf, imp, dt, cnamel); - _gen_proto(src, cl, fid, EOLIAN_PROP_GET, buf, imp, dt, cnamel); + _gen_proto(cl, fid, EOLIAN_PROP_SET, buf, imp, dt, cnamel); + _gen_proto(cl, fid, EOLIAN_PROP_GET, buf, imp, dt, cnamel); break; default: - _gen_proto(src, cl, fid, EOLIAN_METHOD, buf, imp, dt, cnamel); + _gen_proto(cl, fid, EOLIAN_METHOD, buf, imp, dt, cnamel); } } eina_iterator_free(itr); diff --git a/src/bin/eolian/sources.h b/src/bin/eolian/sources.h index 7d2e8d3db0..05d711458b 100644 --- a/src/bin/eolian/sources.h +++ b/src/bin/eolian/sources.h @@ -3,7 +3,7 @@ #include "main.h" -void eo_gen_source_gen(const Eolian_Unit *src, const Eolian_Class *cl, Eina_Strbuf *buf); -void eo_gen_impl_gen(const Eolian_Unit *src, const Eolian_Class *cl, Eina_Strbuf *buf); +void eo_gen_source_gen(const Eolian_Class *cl, Eina_Strbuf *buf); +void eo_gen_impl_gen(const Eolian_Class *cl, Eina_Strbuf *buf); #endif diff --git a/src/bin/eolian/types.c b/src/bin/eolian/types.c index d8285fbeb4..b8f7b98452 100644 --- a/src/bin/eolian/types.c +++ b/src/bin/eolian/types.c @@ -3,13 +3,13 @@ #include "docs.h" static Eina_Strbuf * -_type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, +_type_generate(const Eolian_State *state, const Eolian_Typedecl *tp, Eina_Bool full, Eina_Bool legacy) { - char *grp = strdup(eolian_typedecl_full_name_get(tp)); + char *grp = strdup(eolian_typedecl_name_get(tp)); char *p = strrchr(grp, '.'); if (p) *p = '\0'; - Eina_Strbuf *buf = eo_gen_docs_full_gen(src, eolian_typedecl_documentation_get(tp), + Eina_Strbuf *buf = eo_gen_docs_full_gen(state, eolian_typedecl_documentation_get(tp), grp, 0, legacy); free(grp); if (!buf) buf = eina_strbuf_new(); @@ -19,7 +19,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, { case EOLIAN_TYPEDECL_ALIAS: { - Eina_Stringshare *tn = eolian_typedecl_c_type_get(src, tp); + Eina_Stringshare *tn = eolian_typedecl_c_type_get(tp); eina_strbuf_append(buf, tn); eina_stringshare_del(tn); break; @@ -28,7 +28,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, case EOLIAN_TYPEDECL_STRUCT_OPAQUE: { const Eolian_Struct_Type_Field *memb; - char *fn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tp)); + char *fn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tp)); if (tpt == EOLIAN_TYPEDECL_STRUCT_OPAQUE || !full) { eina_strbuf_append_printf(buf, "typedef struct _%s %s", fn, fn); @@ -41,7 +41,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, { const Eolian_Type *mtp = eolian_typedecl_struct_field_type_get(memb); Eina_Stringshare *ct = NULL; - ct = eolian_type_c_type_get(src, mtp, EOLIAN_C_TYPE_DEFAULT); + ct = eolian_type_c_type_get(mtp, EOLIAN_C_TYPE_DEFAULT); eina_strbuf_append_printf(buf, " %s%s%s;", ct, strchr(ct, '*') ? "" : " ", eolian_typedecl_struct_field_name_get(memb)); @@ -53,7 +53,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, const char *nl = strrchr(eina_strbuf_string_get(buf), '\n'); if (nl) { - Eina_Strbuf *fbuf = eo_gen_docs_full_gen(src, fdoc, NULL, + Eina_Strbuf *fbuf = eo_gen_docs_full_gen(state, fdoc, NULL, strlen(nl), legacy); if (fbuf) eina_strbuf_append_printf(buf, " %s", @@ -87,7 +87,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, else { Eolian_Value val = - eolian_expression_eval(src, vale, EOLIAN_MASK_INT); + eolian_expression_eval(vale, EOLIAN_MASK_INT); const char *lit = eolian_expression_value_to_literal(&val); eina_strbuf_append_printf(buf, " %s = %s", membn, lit); const char *exp = eolian_expression_serialize(vale); @@ -107,7 +107,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, const char *nl = strrchr(eina_strbuf_string_get(buf), '\n'); if (nl) { - Eina_Strbuf *fbuf = eo_gen_docs_full_gen(src, fdoc, NULL, + Eina_Strbuf *fbuf = eo_gen_docs_full_gen(state, fdoc, NULL, strlen(nl), legacy); if (fbuf) eina_strbuf_append_printf(buf, " %s", @@ -118,7 +118,7 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, eina_strbuf_append(buf, "\n"); } eina_iterator_free(membs); - char *fn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tp)); + char *fn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tp)); eina_strbuf_append_printf(buf, "} %s", fn); free(fn); break; @@ -135,19 +135,19 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, eina_strbuf_append(buf, "void "); else { - Eina_Stringshare *ct = eolian_type_c_type_get(src, rtp, EOLIAN_C_TYPE_RETURN); + Eina_Stringshare *ct = eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN); eina_strbuf_append_printf(buf, "%s ", ct); } /* Function name */ - char *fn = eo_gen_c_full_name_get(eolian_typedecl_full_name_get(tp)); + char *fn = eo_gen_c_full_name_get(eolian_typedecl_name_get(tp)); eina_strbuf_append_printf(buf, "(*%s)", fn); free(fn); /* Parameters */ eina_strbuf_append(buf, "(void *data"); int nidx = 1; - eo_gen_params(src, eolian_function_parameters_get(fid), buf, NULL, &nidx, EOLIAN_FUNCTION_POINTER); + eo_gen_params(eolian_function_parameters_get(fid), buf, NULL, &nidx, EOLIAN_FUNCTION_POINTER); eina_strbuf_append(buf, ")"); break; @@ -160,12 +160,12 @@ _type_generate(const Eolian_Unit *src, const Eolian_Typedecl *tp, } static Eina_Strbuf * -_var_generate(const Eolian_Unit *src, const Eolian_Variable *vr, Eina_Bool legacy) +_var_generate(const Eolian_State *state, const Eolian_Variable *vr, Eina_Bool legacy) { - char *fn = strdup(eolian_variable_full_name_get(vr)); + char *fn = strdup(eolian_variable_name_get(vr)); char *p = strrchr(fn, '.'); if (p) *p = '\0'; - Eina_Strbuf *buf = eo_gen_docs_full_gen(src, eolian_variable_documentation_get(vr), + Eina_Strbuf *buf = eo_gen_docs_full_gen(state, eolian_variable_documentation_get(vr), fn, 0, legacy); if (p) { @@ -183,7 +183,7 @@ _var_generate(const Eolian_Unit *src, const Eolian_Variable *vr, Eina_Bool legac eina_strbuf_prepend_printf(buf, "#ifndef %s\n", fn); eina_strbuf_append_printf(buf, "#define %s ", fn); const Eolian_Expression *vv = eolian_variable_value_get(vr); - Eolian_Value val = eolian_expression_eval_type(src, vv, vt); + Eolian_Value val = eolian_expression_eval_type(vv, vt); Eina_Stringshare *lit = eolian_expression_value_to_literal(&val); eina_strbuf_append(buf, lit); Eina_Stringshare *exp = eolian_expression_serialize(vv); @@ -195,7 +195,7 @@ _var_generate(const Eolian_Unit *src, const Eolian_Variable *vr, Eina_Bool legac } else { - Eina_Stringshare *ct = eolian_type_c_type_get(src, vt, EOLIAN_C_TYPE_DEFAULT); + Eina_Stringshare *ct = eolian_type_c_type_get(vt, EOLIAN_C_TYPE_DEFAULT); eina_strbuf_append_printf(buf, "EWAPI extern %s %s;", ct, fn); eina_stringshare_del(ct); } @@ -203,22 +203,22 @@ _var_generate(const Eolian_Unit *src, const Eolian_Variable *vr, Eina_Bool legac return buf; } -void eo_gen_types_header_gen(const Eolian_Unit *src, +void eo_gen_types_header_gen(const Eolian_State *state, Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Bool full, Eina_Bool legacy) { - const Eolian_Declaration *decl; + const Eolian_Object *decl; EINA_ITERATOR_FOREACH(itr, decl) { - Eolian_Declaration_Type dt = eolian_declaration_type_get(decl); + Eolian_Object_Type dt = eolian_object_type_get(decl); - if (dt == EOLIAN_DECL_VAR) + if (dt == EOLIAN_OBJECT_VARIABLE) { - const Eolian_Variable *vr = eolian_declaration_variable_get(decl); + const Eolian_Variable *vr = (const Eolian_Variable *)decl; if (!vr || eolian_variable_is_extern(vr)) continue; - Eina_Strbuf *vbuf = _var_generate(src, vr, legacy); + Eina_Strbuf *vbuf = _var_generate(state, vr, legacy); if (vbuf) { eina_strbuf_append(buf, eina_strbuf_string_get(vbuf)); @@ -228,25 +228,27 @@ void eo_gen_types_header_gen(const Eolian_Unit *src, continue; } - if ((dt != EOLIAN_DECL_ALIAS) && - (dt != EOLIAN_DECL_STRUCT) && - (dt != EOLIAN_DECL_ENUM)) - continue; - if (dt == EOLIAN_DECL_ENUM && !full) + if (dt != EOLIAN_OBJECT_TYPEDECL) continue; - const Eolian_Typedecl *tp = eolian_declaration_data_type_get(decl); - if (!tp || eolian_typedecl_is_extern(tp)) + const Eolian_Typedecl *tp = (const Eolian_Typedecl *)decl; + + if (eolian_typedecl_is_extern(tp)) continue; - if (eolian_typedecl_type_get(tp) == EOLIAN_TYPEDECL_ALIAS) + Eolian_Typedecl_Type tpt = eolian_typedecl_type_get(tp); + + if (tpt == EOLIAN_TYPEDECL_ENUM && !full) + continue; + + if (tpt == EOLIAN_TYPEDECL_ALIAS) { const Eolian_Type *btp = eolian_typedecl_base_type_get(tp); if (eolian_type_type_get(btp) == EOLIAN_TYPE_UNDEFINED) continue; } - Eina_Strbuf *tbuf = _type_generate(src, tp, full, legacy); + Eina_Strbuf *tbuf = _type_generate(state, tp, full, legacy); if (tbuf) { eina_strbuf_append(buf, eina_strbuf_string_get(tbuf)); @@ -257,19 +259,18 @@ void eo_gen_types_header_gen(const Eolian_Unit *src, eina_iterator_free(itr); } -void eo_gen_types_source_gen(const Eolian_Unit *src, - Eina_Iterator *itr, Eina_Strbuf *buf) +void eo_gen_types_source_gen(Eina_Iterator *itr, Eina_Strbuf *buf) { - const Eolian_Declaration *decl; + const Eolian_Object *decl; EINA_ITERATOR_FOREACH(itr, decl) { - Eolian_Declaration_Type dt = eolian_declaration_type_get(decl); + Eolian_Object_Type dt = eolian_object_type_get(decl); - if (dt != EOLIAN_DECL_VAR) + if (dt != EOLIAN_OBJECT_VARIABLE) continue; - const Eolian_Variable *vr = eolian_declaration_variable_get(decl); - if (!vr || eolian_variable_is_extern(vr)) + const Eolian_Variable *vr = (const Eolian_Variable *)decl; + if (eolian_variable_is_extern(vr)) continue; if (eolian_variable_type_get(vr) == EOLIAN_VAR_CONSTANT) @@ -279,18 +280,18 @@ void eo_gen_types_source_gen(const Eolian_Unit *src, if (!vv) continue; - char *fn = strdup(eolian_variable_full_name_get(vr)); + char *fn = strdup(eolian_variable_name_get(vr)); for (char *p = strchr(fn, '.'); p; p = strchr(p, '.')) *p = '_'; eina_str_toupper(&fn); const Eolian_Type *vt = eolian_variable_base_type_get(vr); - Eina_Stringshare *ct = eolian_type_c_type_get(src, vt, EOLIAN_C_TYPE_DEFAULT); + Eina_Stringshare *ct = eolian_type_c_type_get(vt, EOLIAN_C_TYPE_DEFAULT); eina_strbuf_append_printf(buf, "EWAPI %s %s = ", ct, fn); eina_stringshare_del(ct); free(fn); - Eolian_Value val = eolian_expression_eval_type(src, vv, vt); + Eolian_Value val = eolian_expression_eval_type(vv, vt); Eina_Stringshare *lit = eolian_expression_value_to_literal(&val); eina_strbuf_append(buf, lit); eina_strbuf_append_char(buf, ';'); @@ -305,12 +306,12 @@ void eo_gen_types_source_gen(const Eolian_Unit *src, eina_iterator_free(itr); } -Eina_Strbuf *eo_gen_class_typedef_gen(const Eolian_Unit *src, const char *eof) +Eina_Strbuf *eo_gen_class_typedef_gen(const Eolian_State *eos, const char *eof) { - const Eolian_Class *cl = eolian_class_get_by_file(src, eof); + const Eolian_Class *cl = eolian_state_class_by_file_get(eos, eof); if (!cl) return NULL; - char *clfn = eo_gen_c_full_name_get(eolian_class_full_name_get(cl)); + char *clfn = eo_gen_c_full_name_get(eolian_class_name_get(cl)); if (!clfn) return NULL; Eina_Strbuf *ret = eina_strbuf_new(); diff --git a/src/bin/eolian/types.h b/src/bin/eolian/types.h index 7ad56673b9..2659b59085 100644 --- a/src/bin/eolian/types.h +++ b/src/bin/eolian/types.h @@ -1,8 +1,8 @@ #ifndef EOLIAN_GEN_TYPES_H #define EOLIAN_GEN_TYPES_H -void eo_gen_types_header_gen(const Eolian_Unit *src, Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Bool full, Eina_Bool legacy); -void eo_gen_types_source_gen(const Eolian_Unit *src, Eina_Iterator *itr, Eina_Strbuf *buf); -Eina_Strbuf *eo_gen_class_typedef_gen(const Eolian_Unit *src, const char *eof); +void eo_gen_types_header_gen(const Eolian_State *state, Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Bool full, Eina_Bool legacy); +void eo_gen_types_source_gen(Eina_Iterator *itr, Eina_Strbuf *buf); +Eina_Strbuf *eo_gen_class_typedef_gen(const Eolian_State *eos, const char *eof); #endif diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc index 67b73b2cc5..70527ddc27 100644 --- a/src/bin/eolian_cxx/eolian_cxx.cc +++ b/src/bin/eolian_cxx/eolian_cxx.cc @@ -34,7 +34,7 @@ struct options_type { std::vector include_dirs; std::vector in_files; - mutable Eolian* state; + mutable Eolian_State* state; mutable Eolian_Unit const* unit; std::string out_file; bool main_header; @@ -42,7 +42,7 @@ struct options_type options_type() : main_header(false) {} ~options_type() { - eolian_free(state); + eolian_state_free(state); } }; @@ -68,7 +68,7 @@ generate(const Eolian_Class* klass, eolian_cxx::options_type const& opts, std::string const& cpp_types_header) { std::string header_decl_file_name = opts.out_file.empty() - ? (::eolian_class_file_get(klass) + std::string(".hh")) : opts.out_file; + ? (::eolian_object_file_get((const Eolian_Object *)klass) + std::string(".hh")) : opts.out_file; std::string header_impl_file_name = header_decl_file_name; std::size_t dot_pos = header_impl_file_name.rfind(".hh"); @@ -83,7 +83,7 @@ generate(const Eolian_Class* klass, eolian_cxx::options_type const& opts, std::set c_headers; std::set cpp_headers; - c_headers.insert(eolian_class_file_get(klass) + std::string(".h")); + c_headers.insert(eolian_object_file_get((const Eolian_Object *)klass) + std::string(".h")); std::function variant_function; @@ -92,8 +92,8 @@ generate(const Eolian_Class* klass, eolian_cxx::options_type const& opts, { Eolian_Class const* klass2 = get_klass(name, opts.unit); assert(klass2); - c_headers.insert(eolian_class_file_get(klass2) + std::string(".h")); - cpp_headers.insert(eolian_class_file_get(klass2) + std::string(".hh")); + c_headers.insert(eolian_object_file_get((const Eolian_Object *)klass2) + std::string(".h")); + cpp_headers.insert(eolian_object_file_get((const Eolian_Object *)klass2) + std::string(".hh")); efl::eolian::grammar::attributes::klass_def cls{klass2, opts.unit}; forward_klasses.insert(cls); }; @@ -124,8 +124,8 @@ generate(const Eolian_Class* klass, eolian_cxx::options_type const& opts, , inherit_last; inherit_iterator != inherit_last; ++inherit_iterator) { Eolian_Class const* inherit = &*inherit_iterator; - c_headers.insert(eolian_class_file_get(inherit) + std::string(".h")); - cpp_headers.insert(eolian_class_file_get(inherit) + std::string(".hh")); + c_headers.insert(eolian_object_file_get((const Eolian_Object *)inherit) + std::string(".h")); + cpp_headers.insert(eolian_object_file_get((const Eolian_Object *)inherit) + std::string(".hh")); efl::eolian::grammar::attributes::klass_def klass3{inherit, opts.unit}; forward_klasses.insert(klass3); @@ -157,7 +157,7 @@ generate(const Eolian_Class* klass, eolian_cxx::options_type const& opts, forward_klasses.insert(part_klass); } - cpp_headers.erase(eolian_class_file_get(klass) + std::string(".hh")); + cpp_headers.erase(eolian_object_file_get((const Eolian_Object *)klass) + std::string(".hh")); std::string guard_name; as_generator(*(efl::eolian::grammar::string << "_") << efl::eolian::grammar::string << "_EO_HH") @@ -226,18 +226,19 @@ types_generate(std::string const& fname, options_type const& opts, using namespace efl::eolian::grammar::attributes; std::vector functions; - Eina_Iterator *itr = eolian_declarations_get_by_file(opts.state, fname.c_str()); - /* const */ Eolian_Declaration *decl; + Eina_Iterator *itr = eolian_state_objects_by_file_get(opts.state, fname.c_str()); + /* const */ Eolian_Object *decl; // Build list of functions with their parameters while(::eina_iterator_next(itr, reinterpret_cast(&decl))) { - Eolian_Declaration_Type dt = eolian_declaration_type_get(decl); - if (dt != EOLIAN_DECL_ALIAS) + Eolian_Object_Type dt = eolian_object_type_get(decl); + if (dt != EOLIAN_OBJECT_TYPEDECL) continue; - const Eolian_Typedecl *tp = eolian_declaration_data_type_get(decl); - if (!tp || eolian_typedecl_is_extern(tp)) + const Eolian_Typedecl *tp = (const Eolian_Typedecl *)decl; + + if (eolian_typedecl_is_extern(tp)) continue; if (::eolian_typedecl_type_get(tp) != EOLIAN_TYPEDECL_FUNCTION_POINTER) @@ -246,8 +247,8 @@ types_generate(std::string const& fname, options_type const& opts, const Eolian_Function *func = eolian_typedecl_function_pointer_get(tp); if (!func) return false; - function_def def(func, EOLIAN_FUNCTION_POINTER, opts.unit); - def.c_name = eolian_typedecl_full_name_get(tp); + function_def def(func, EOLIAN_FUNCTION_POINTER, tp, opts.unit); + def.c_name = eolian_typedecl_name_get(tp); std::replace(def.c_name.begin(), def.c_name.end(), '.', '_'); functions.push_back(std::move(def)); } @@ -279,7 +280,7 @@ run(options_type const& opts) char* base = basename(dup); std::string cpp_types_header; opts.unit = (Eolian_Unit*)opts.state; - klass = ::eolian_class_get_by_file(opts.unit, base); + klass = ::eolian_state_class_by_file_get(opts.state, base); free(dup); if (klass) { @@ -287,7 +288,7 @@ run(options_type const& opts) !generate(klass, opts, cpp_types_header)) { EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain) - << "Error generating: " << ::eolian_class_name_get(klass) + << "Error generating: " << ::eolian_class_short_name_get(klass) << std::endl; assert(false && "error generating class"); } @@ -304,7 +305,7 @@ run(options_type const& opts) for(auto&& name : opts.in_files) { - Eolian_Unit const* unit = ::eolian_file_parse(opts.state, name.c_str()); + Eolian_Unit const* unit = ::eolian_state_file_parse(opts.state, name.c_str()); if(!unit) { EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain) @@ -317,11 +318,11 @@ run(options_type const& opts) } char* dup = strdup(name.c_str()); char* base = basename(dup); - Eolian_Class const* klass = ::eolian_class_get_by_file(unit, base); + Eolian_Class const* klass = ::eolian_state_class_by_file_get(opts.state, base); free(dup); if (klass) { - std::string filename = eolian_class_file_get(klass); + std::string filename = eolian_object_file_get((const Eolian_Object *)klass); headers.insert(filename + std::string(".hh")); eo_files.insert(filename); } @@ -354,7 +355,7 @@ run(options_type const& opts) static void state_init(options_type const& opts) { - Eolian *eos = ::eolian_new(); + Eolian_State *eos = ::eolian_state_new(); if (!eos) { EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain) @@ -369,13 +370,13 @@ database_load(options_type const& opts) { for (auto src : opts.include_dirs) { - if (!::eolian_directory_scan(opts.state, src.c_str())) + if (!::eolian_state_directory_add(opts.state, src.c_str())) { EINA_CXX_DOM_LOG_WARN(eolian_cxx::domain) << "Couldn't load eolian from '" << src << "'."; } } - if (!::eolian_all_eot_files_parse(opts.state)) + if (!::eolian_state_all_eot_files_parse(opts.state)) { EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain) << "Eolian failed parsing eot files"; @@ -387,7 +388,7 @@ database_load(options_type const& opts) << "No input file."; assert(false && "Error parsing input file"); } - if (!opts.main_header && !::eolian_file_parse(opts.state, opts.in_files[0].c_str())) + if (!opts.main_header && !::eolian_state_file_parse(opts.state, opts.in_files[0].c_str())) { EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain) << "Failed parsing: " << opts.in_files[0] << "."; diff --git a/src/bin/eolian_js/eolian/class.hh b/src/bin/eolian_js/eolian/class.hh index c9f027d532..30afc60d81 100644 --- a/src/bin/eolian_js/eolian/class.hh +++ b/src/bin/eolian_js/eolian/class.hh @@ -10,12 +10,12 @@ inline std::string name(Eolian_Class const* klass) { - return ::eolian_class_name_get(klass); + return ::eolian_class_short_name_get(klass); } inline std::string full_name(Eolian_Class const* klass) { - return ::eolian_class_full_name_get(klass); + return ::eolian_class_name_get(klass); } inline std::string full_name_transformed(Eolian_Class const* klass) @@ -44,10 +44,10 @@ inline std::string type_class_name(Eolian_Type const* tp) tpt = ::eolian_type_type_get(tp); if (tpt == EOLIAN_TYPE_CLASS) { - Eolian_Class const* klass = ::eolian_type_class_get(NULL, tp); + Eolian_Class const* klass = ::eolian_type_class_get(tp); if (klass) { - Eina_Stringshare* klass_name = ::eolian_class_full_name_get(klass); + Eina_Stringshare* klass_name = ::eolian_class_name_get(klass); if (!klass_name) throw std::runtime_error("Could not get Eo class name"); @@ -59,7 +59,7 @@ inline std::string type_class_name(Eolian_Type const* tp) auto tpd = eolian_type_typedecl_get(tp); if (tpd && eolian_typedecl_type_get(tpd) == EOLIAN_TYPEDECL_STRUCT) { - auto struct_type_full_name = ::eolian_type_full_name_get(tp); + auto struct_type_full_name = ::eolian_type_name_get(tp); if (!struct_type_full_name) throw std::runtime_error("Could not get struct name"); return struct_type_full_name; diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc index 796aa8693f..9e303c81bc 100644 --- a/src/bin/eolian_js/main.cc +++ b/src/bin/eolian_js/main.cc @@ -73,8 +73,8 @@ _final_type_and_type_type_get(Eolian_Type const* tp_in, Eolian_Type const*& tp_o !eolian_typedecl_is_extern(tpd)) { auto btp = eolian_typedecl_aliased_base_get(tpd); - if (btp && eolian_type_full_name_get(btp) && - strcmp(eolian_type_full_name_get(btp), "__undefined_type") != 0) + if (btp && eolian_type_name_get(btp) && + strcmp(eolian_type_name_get(btp), "__undefined_type") != 0) { _final_type_and_type_type_get(btp, tp_out, tpt_out); } @@ -195,12 +195,11 @@ _eolian_type_cpp_type_named_get(const Eolian_Type *tp, std::string const& caller {"list", "Eina_List"}, {"string", "const char*"}, {"void_ptr", "void *"}, - {"stringshare", "Eina_Stringshare*"}, - {"future", "Efl_Future*"} + {"stringshare", "Eina_Stringshare*"} }; - std::string type_name = eolian_type_name_get(tp); + std::string type_name = eolian_type_short_name_get(tp); auto it = type_map.find(type_name); if (it != end(type_map)) type_name = it->second; @@ -325,7 +324,7 @@ bool _function_belongs_to(const Eolian_Function *function, std::string klass) { const Eolian_Class *cl = eolian_function_class_get(function); - const std::string name = cl ? eolian_class_full_name_get(cl) : ""; + const std::string name = cl ? eolian_class_name_get(cl) : ""; return name.find(klass) == 0; } @@ -489,18 +488,18 @@ int main(int argc, char** argv) // Add include paths to eolian library for(auto src : include_paths) - if (!::eolian_directory_scan(src.c_str())) + if (!::eolian_state_directory_add(src.c_str())) { EINA_CXX_DOM_LOG_WARN(eolian::js::domain) << "Couldn't load eolian from '" << src << "'."; } - if (!::eolian_all_eot_files_parse()) + if (!::eolian_state_all_eot_files_parse()) { EINA_CXX_DOM_LOG_WARN(eolian::js::domain) << "Eolian failed parsing eot files"; assert(false && "Error parsing eot files"); } - if (!::eolian_file_parse(in_file.c_str())) + if (!::eolian_state_file_parse(in_file.c_str())) { EINA_CXX_DOM_LOG_WARN(eolian::js::domain) << "Failed parsing: " << in_file << "."; @@ -690,8 +689,8 @@ int main(int argc, char** argv) if (!tpd || ::eolian_typedecl_type_get(tpd) == EOLIAN_TYPEDECL_STRUCT_OPAQUE) continue; - auto struct_name = ::eolian_typedecl_name_get(tpd); - auto struct_type_full_name = ::eolian_typedecl_full_name_get(tpd); + auto struct_name = ::eolian_typedecl_short_name_get(tpd); + auto struct_type_full_name = ::eolian_typedecl_name_get(tpd); if (!struct_name || !struct_type_full_name) { EINA_CXX_DOM_LOG_ERR(eolian::js::domain) << "Could not get struct type name"; @@ -1015,7 +1014,7 @@ int main(int argc, char** argv) else { EINA_CXX_DOM_LOG_ERR(eolian::js::domain) << "Duplicate member function found in class: " << - eolian_class_full_name_get(klass) << ": '" << member_name << "'"; + eolian_class_name_get(klass) << ": '" << member_name << "'"; } } catch(eolian::js::incomplete_complex_type_error const& e) @@ -1157,7 +1156,7 @@ int main(int argc, char** argv) auto tpd = &*first; if (::eolian_typedecl_is_extern(tpd)) continue; - std::string enum_name = ::eolian_typedecl_name_get(tpd); + std::string enum_name = ::eolian_typedecl_short_name_get(tpd); os << " {\n"; os << " auto to_export = ::efl::eo::js::get_namespace({"; bool comma = false; diff --git a/src/bin/eolian_mono/eolian/mono/alias_definition.hh b/src/bin/eolian_mono/eolian/mono/alias_definition.hh new file mode 100644 index 0000000000..91659fb7bd --- /dev/null +++ b/src/bin/eolian_mono/eolian/mono/alias_definition.hh @@ -0,0 +1,77 @@ +#ifndef EOLIAN_MONO_ALIAS_DEFINITION_HH +#define EOLIAN_MONO_ALIAS_DEFINITION_HH + +#include "grammar/generator.hpp" +#include "grammar/klass_def.hpp" +#include "grammar/indentation.hpp" + +#include "using_decl.hh" +#include "name_helpers.hh" +#include "blacklist.hh" +#include "documentation.hh" +#include "generation_contexts.hh" + +namespace eolian_mono { + +struct alias_definition_generator +{ + template + bool generate(OutputIterator sink, attributes::alias_def const& alias, Context const& context) const + { + if (blacklist::is_alias_blacklisted(alias)) + { + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "Alias " << name_helpers::alias_full_eolian_name(alias) << "is blacklisted. Skipping."; + return true; + } + + if (alias.is_undefined) + { + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "Alias " << name_helpers::alias_full_eolian_name(alias) << "is undefined. Skipping."; + return true; + } + + if (!name_helpers::open_namespaces(sink, alias.namespaces, context)) + return false; + + std::string const& alias_name = alias.eolian_name; + if (!as_generator( + "public struct " << alias_name << " {\n" + << scope_tab << "private " << type << " payload;\n" + << scope_tab << "public static implicit operator " << alias_name << "(" << type << " x)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "return new " << alias_name << "{payload=x};\n" + << scope_tab << "}\n" + << scope_tab << "public static implicit operator " << type << "(" << alias_name << " x)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "return x.payload;\n" + << scope_tab << "}\n" + << "}\n" + ).generate(sink, std::make_tuple(alias.base_type, alias.base_type, alias.base_type), context)) + return false; + + if (!name_helpers::close_namespaces(sink, alias.namespaces, context)) + return false; + + return true; + } +} const alias_definition {}; + +} + +namespace efl { namespace eolian { namespace grammar { + +template<> +struct is_eager_generator< ::eolian_mono::alias_definition_generator> : std::true_type {}; +template<> +struct is_generator< ::eolian_mono::alias_definition_generator> : std::true_type {}; + +namespace type_traits { + +template<> +struct attributes_needed< ::eolian_mono::alias_definition_generator> : std::integral_constant {}; + +} + +} } } + +#endif diff --git a/src/bin/eolian_mono/eolian/mono/async_function_definition.hh b/src/bin/eolian_mono/eolian/mono/async_function_definition.hh new file mode 100644 index 0000000000..3030c74e1e --- /dev/null +++ b/src/bin/eolian_mono/eolian/mono/async_function_definition.hh @@ -0,0 +1,145 @@ +#ifndef EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH +#define EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH + +#include + +#include "grammar/generator.hpp" +#include "grammar/klass_def.hpp" + +#include "grammar/indentation.hpp" +#include "grammar/list.hpp" +#include "grammar/alternative.hpp" +#include "grammar/attribute_reorder.hpp" +#include "logging.hh" +#include "type.hh" +#include "name_helpers.hh" +#include "helpers.hh" +#include "function_helpers.hh" +#include "marshall_type.hh" +#include "parameter.hh" +#include "documentation.hh" +#include "using_decl.hh" +#include "generation_contexts.hh" +#include "blacklist.hh" + +namespace eolian_mono { + +struct is_future +{ + typedef is_future visitor_type; + typedef bool result_type; + + bool operator()(grammar::attributes::complex_type_def const& c) const + { + return c.outer.base_type == "future"; + } + + template + bool operator()(T const&) const + { + return false; + } +}; + +struct async_function_declaration_generator +{ + template + bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const + { + if (f.is_static) + return true; + if (blacklist::is_function_blacklisted(f.c_name)) + return true; + if (!f.return_type.original_type.visit(is_future{})) + return true; + + if (!as_generator( + scope_tab << "System.Threading.Tasks.Task " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") << + " System.Threading.CancellationToken token=default(System.Threading.CancellationToken));\n" + ).generate(sink, f.parameters, context)) + return false; + + return true; + } +} const async_function_declaration {}; + +struct async_function_definition_generator +{ + async_function_definition_generator(bool do_super = false) + : do_super(do_super) + {} + + template + bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const + { + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "async_function_definition_generator: " << f.c_name; + + if(do_super && f.is_static) // Static methods goes only on Concrete classes. + return true; + if(blacklist::is_function_blacklisted(f.c_name)) + return true; + if(!f.return_type.original_type.visit(is_future{})) + return true; + + auto parameter_forwarding = [](attributes::parameter_def const& param) { + return direction_modifier(param) + " " + name_helpers::escape_keyword(param.param_name); + }; + std::vector param_forwarding; + + std::transform(f.parameters.begin(), f.parameters.end(), std::back_inserter(param_forwarding), parameter_forwarding); + + if(!as_generator( + scope_tab << "public System.Threading.Tasks.Task " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") << " System.Threading.CancellationToken token)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "eina.Future future = " << name_helpers::managed_method_name(f) << "(" << (string % ",") << ");\n" + << scope_tab << scope_tab << "return efl.eo.Globals.WrapAsync(future, token);\n" + << scope_tab << "}\n" + ).generate(sink, std::make_tuple(f.parameters, param_forwarding), context)) + return false; + return true; + } + + bool do_super; +}; + +struct async_function_definition_parameterized +{ + async_function_definition_generator operator()(bool do_super=false) const + { + return {do_super}; + } +} const async_function_definition; +async_function_definition_generator as_generator(async_function_definition_parameterized) +{ + return {}; +} + +} + +namespace efl { namespace eolian { namespace grammar { + +template <> +struct is_eager_generator< ::eolian_mono::async_function_declaration_generator> : std::true_type {}; +template <> +struct is_generator< ::eolian_mono::async_function_declaration_generator> : std::true_type {}; + +template <> +struct is_eager_generator< ::eolian_mono::async_function_definition_generator> : std::true_type {}; +template <> +struct is_generator< ::eolian_mono::async_function_definition_generator> : std::true_type {}; +template <> +struct is_generator< ::eolian_mono::async_function_definition_parameterized> : std::true_type {}; + +namespace type_traits { +template <> +struct attributes_needed< ::eolian_mono::async_function_declaration_generator> : std::integral_constant {}; + +template <> +struct attributes_needed< ::eolian_mono::async_function_definition_generator> : std::integral_constant {}; +template <> +struct attributes_needed< ::eolian_mono::async_function_definition_parameterized> : std::integral_constant {}; +} + +} } } + +#endif diff --git a/src/bin/eolian_mono/eolian/mono/function_blacklist.hh b/src/bin/eolian_mono/eolian/mono/blacklist.hh similarity index 63% rename from src/bin/eolian_mono/eolian/mono/function_blacklist.hh rename to src/bin/eolian_mono/eolian/mono/blacklist.hh index b2d712c6ac..a436bcc203 100644 --- a/src/bin/eolian_mono/eolian/mono/function_blacklist.hh +++ b/src/bin/eolian_mono/eolian/mono/blacklist.hh @@ -1,8 +1,15 @@ -#ifndef EOLIAN_MONO_FUNCTION_BLACKLIST_HH -#define EOLIAN_MONO_FUNCTION_BLACKLIST_HH +#ifndef EOLIAN_MONO_BLACKLIST_HH +#define EOLIAN_MONO_BLACKLIST_HH + +#include "grammar/klass_def.hpp" +#include "name_helpers.hh" namespace eolian_mono { +namespace blacklist { + +namespace attributes = efl::eolian::grammar::attributes; + inline bool is_function_blacklisted(std::string const& c_name) { return @@ -27,7 +34,6 @@ inline bool is_function_blacklisted(std::string const& c_name) || c_name == "efl_ui_focus_user_parent_get" || c_name == "efl_canvas_object_scale_get" // duplicated signature || c_name == "efl_canvas_object_scale_set" // duplicated signature - || c_name == "efl_ui_format_cb_set" || c_name == "efl_access_parent_get" || c_name == "efl_access_name_get" || c_name == "efl_access_name_set" @@ -47,6 +53,35 @@ inline bool is_function_blacklisted(std::string const& c_name) ; } +// Blacklist structs that require some kind of manual binding. +inline bool is_struct_blacklisted(std::string const& full_name) +{ + return full_name == "Efl.Event_Description" + || full_name == "Eina.Binbuf" + || full_name == "Eina.Strbuf" + || full_name == "Eina.Slice" + || full_name == "Eina.Rw_Slice" + || full_name == "Eina.Promise" + || full_name == "Eina.Future"; +} + +inline bool is_struct_blacklisted(attributes::struct_def const& struct_) +{ + return is_struct_blacklisted(name_helpers::struct_full_eolian_name(struct_)); +} + +inline bool is_struct_blacklisted(attributes::regular_type_def const& struct_) +{ + return is_struct_blacklisted(name_helpers::type_full_eolian_name(struct_)); +} + +inline bool is_alias_blacklisted(attributes::alias_def const& alias) +{ + return name_helpers::alias_full_eolian_name(alias) == "Eina.Error"; +} + +} + } #endif diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh index 42fe9d24e1..f78c58a9d4 100644 --- a/src/bin/eolian_mono/eolian/mono/documentation.hh +++ b/src/bin/eolian_mono/eolian/mono/documentation.hh @@ -5,7 +5,7 @@ #include "grammar/klass_def.hpp" #include "grammar/html_escaped_string.hpp" #include "using_decl.hh" -#include "keyword.hh" +#include "name_helpers.hh" #include @@ -116,7 +116,7 @@ struct documentation_generator template bool generate_parameter(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const { - return generate_tag_param(sink, escape_keyword(param.param_name), param.documentation.summary, context); + return generate_tag_param(sink, name_helpers::escape_keyword(param.param_name), param.documentation.summary, context); } template diff --git a/src/bin/eolian_mono/eolian/mono/enum_definition.hh b/src/bin/eolian_mono/eolian/mono/enum_definition.hh index d8bc54c175..9261f5b2e6 100644 --- a/src/bin/eolian_mono/eolian/mono/enum_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/enum_definition.hh @@ -7,7 +7,7 @@ #include "grammar/list.hpp" #include "grammar/alternative.hpp" #include "type.hh" -#include "keyword.hh" +#include "name_helpers.hh" #include "using_decl.hh" namespace eolian_mono { @@ -17,10 +17,8 @@ struct enum_definition_generator template bool generate(OutputIterator sink, attributes::enum_def const& enum_, Context const& context) const { - std::vector cpp_namespaces = escape_namespace(attributes::cpp_namespaces(enum_.namespaces)); - - auto open_namespace = *("namespace " << string << " { ") << "\n"; - if(!as_generator(open_namespace).generate(sink, cpp_namespaces, add_lower_case_context(context))) return false; + if(!name_helpers::open_namespaces(sink, enum_.namespaces, context)) + return false; if(!as_generator(documentation).generate(sink, enum_, context)) return false; @@ -29,7 +27,7 @@ struct enum_definition_generator ( "public enum " << string << "\n{\n" ) - .generate(sink, enum_.cxx_name, context)) + .generate(sink, name_helpers::enum_managed_name(enum_), context)) return false; // iterate enum fiels @@ -49,9 +47,9 @@ struct enum_definition_generator if(!as_generator("}\n").generate(sink, attributes::unused, context)) return false; - auto close_namespace = *(lit("} ")) << "\n"; - if(!as_generator(close_namespace).generate(sink, cpp_namespaces, context)) return false; - + if(!name_helpers::close_namespaces(sink, enum_.namespaces, context)) + return false; + return true; } }; diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh new file mode 100644 index 0000000000..2da287b8e7 --- /dev/null +++ b/src/bin/eolian_mono/eolian/mono/events.hh @@ -0,0 +1,308 @@ +#ifndef EOLIAN_MONO_EVENTS_HH +#define EOLINA_MONO_EVENTS_HH + +#include + +#include "grammar/generator.hpp" +#include "grammar/klass_def.hpp" +#include "type_impl.hh" // For call_match +#include "name_helpers.hh" +#include "using_decl.hh" + +namespace eolian_mono { + +template +struct unpack_event_args_visitor +{ + mutable OutputIterator sink; + Context const* context; + attributes::type_def const& type; + + typedef unpack_event_args_visitor visitor_type; + typedef bool result_type; + bool operator()(grammar::attributes::regular_type_def const& regular) const + { + std::string const& arg = "evt.Info"; + std::string arg_type = name_helpers::type_full_managed_name(regular); + + // Structs are usually passed by pointer to events, like having a ptr<> modifier + if (type.is_ptr || regular.is_struct()) + return as_generator("(" + arg_type + ")Marshal.PtrToStructure(" + arg + ", typeof(" + arg_type + "))") + .generate(sink, attributes::unused, *context); + + using attributes::regular_type_def; + struct match + { + eina::optional name; + std::function function; + } + const match_table [] = + { + {"bool", [&arg] { return arg + " != IntPtr.Zero"; }} + , {"int", [&arg] { return arg + ".ToInt32()"; }} + , {"uint", [&arg] { return "(uint)" + arg + ".ToInt32()";}} + , {"string", [&arg] { return "eina.StringConversion.NativeUtf8ToManagedString(" + arg + ")"; }} + , {"Eina.Error", [&arg] { return "(eina.Error)Marshal.PtrToStructure(" + arg + ", typeof(eina.Error))"; }} + }; + + std::string full_type_name = name_helpers::type_full_eolian_name(regular); + auto filter_func = [®ular, &full_type_name] (match const& m) + { + return (!m.name || *m.name == regular.base_type || *m.name == full_type_name); + }; + + auto accept_func = [&](std::string const& conversion) + { + return as_generator(conversion).generate(sink, attributes::unused, *context); + }; + + if (eina::optional b = call_match(match_table, filter_func, accept_func)) + return *b; + else + return as_generator("default(" + arg_type + ")").generate(sink, attributes::unused, *context); + } + bool operator()(grammar::attributes::klass_name const& cls) const + { + return as_generator("new " + name_helpers::klass_full_concrete_name(cls) + "(evt.Info)").generate(sink, attributes::unused, *context); + } + bool operator()(attributes::complex_type_def const&) const + { + return as_generator("UNSUPPORTED").generate(sink, attributes::unused, *context); + } +}; + +struct event_argument_wrapper_generator +{ + template + bool generate(OutputIterator sink, attributes::event_def const& evt, Context const& context) const + { + efl::eina::optional etype = evt.type; + if (!etype.is_engaged()) + return true; + + std::string evt_name = name_helpers::managed_event_name(evt.name); + std::string arg_type; + if (!as_generator(type).generate(std::back_inserter(arg_type), *etype, efl::eolian::grammar::context_null())) + { + EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) << "Failed to get argument type for event " << evt.name; + return false; + } + + return as_generator("///Event argument wrapper for event " << evt_name << ".\n" + << "public class " << name_helpers::managed_event_args_short_name(evt) << " : EventArgs {\n" + << scope_tab << "///Actual event payload.\n" + << scope_tab << "public " << arg_type << " arg { get; set; }\n" + << "}\n" + ).generate(sink, attributes::unused, context); + } +} const event_argument_wrapper {}; + +struct event_declaration_generator +{ + template + bool generate(OutputIterator sink, attributes::event_def const& evt, Context const& context) const + { + std::string wrapper_args_type; + std::string evt_name = name_helpers::managed_event_name(evt.name); + std::string evt_args_name = name_helpers::managed_event_args_name(evt); + + efl::eina::optional etype = evt.type; + if (etype.is_engaged()) + wrapper_args_type = "<" + evt_args_name + ">"; + + if (!as_generator( + documentation(1) + << scope_tab << "event EventHandler" << wrapper_args_type << " " << evt_name << ";\n" + ).generate(sink, evt, context)) + return false; + + return true; + } +} const event_declaration {}; + +struct event_registration_generator +{ + attributes::klass_def const* klass; + template + bool generate(OutputIterator sink, attributes::event_def const& evt, Context const& context) const + { + std::string wrapper_event_name; + + if (klass) + wrapper_event_name = name_helpers::translate_inherited_event_name(evt, *klass); + else + wrapper_event_name = name_helpers::managed_event_name(evt.name); + + return as_generator(scope_tab << scope_tab << "evt_" << wrapper_event_name << "_delegate = " + << "new efl.Event_Cb(on_" << wrapper_event_name << "_NativeCallback);\n" + ).generate(sink, attributes::unused, context); + } +}; + +struct event_registration_parameterized +{ + event_registration_generator operator()(attributes::klass_def const* klass=NULL) const + { + return {klass}; + } +} const event_registration; + +struct event_definition_generator +{ + attributes::klass_def const& klass; + bool is_inherited_event; + + template + bool generate(OutputIterator sink, attributes::event_def const& evt, Context context) const + { + std::string managed_evt_name = name_helpers::managed_event_name(evt.name); + + std::string wrapper_evt_name; + if (is_inherited_event) + wrapper_evt_name = name_helpers::translate_inherited_event_name(evt, klass); + else + wrapper_evt_name = managed_evt_name; + + std::string klass_name; + if (is_inherited_event) + klass_name = name_helpers::klass_full_interface_name(klass); + else + klass_name = name_helpers::klass_interface_name(klass); + + + std::string upper_c_name = utils::to_uppercase(evt.c_name); + std::string wrapper_args_type = "EventArgs"; + std::string wrapper_args_template = ""; + std::string event_args = "EventArgs args = EventArgs.Empty;\n"; + std::string visibility = is_inherit_context(context) ? "protected" : "private"; + + efl::eina::optional etype = evt.type; + + if (etype.is_engaged()) + { + wrapper_args_type = name_helpers::managed_event_args_name(evt); + wrapper_args_template = "<" + wrapper_args_type + ">"; + std::string arg_initializer = wrapper_args_type + " args = new " + wrapper_args_type + "();\n"; + + arg_initializer += " args.arg = "; + + auto arg_initializer_sink = std::back_inserter(arg_initializer); + + if (!(*etype).original_type.visit(unpack_event_args_visitor{arg_initializer_sink, &context, *etype})) + return false; + + arg_initializer += ";\n"; + + event_args = arg_initializer; + } + + // Wrapper event declaration + if(!as_generator(documentation(1)).generate(sink, evt, context)) + return false; + + if(!as_generator( + scope_tab << visibility << " event EventHandler" << wrapper_args_template << " " << wrapper_evt_name << ";\n" + << scope_tab << "///Method to raise event "<< wrapper_evt_name << ".\n" + << scope_tab << visibility << " void On_" << wrapper_evt_name << "(" << wrapper_args_type << " e)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "EventHandler" << wrapper_args_template << " evt;\n" + << scope_tab << scope_tab << "lock (eventLock) {\n" + << scope_tab << scope_tab << scope_tab << "evt = " << wrapper_evt_name << ";\n" + << scope_tab << scope_tab << "}\n" + << scope_tab << scope_tab << "if (evt != null) { evt(this, e); }\n" + << scope_tab << "}\n" + << scope_tab << "private void on_" << wrapper_evt_name << "_NativeCallback(System.IntPtr data, ref efl.Event evt)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << event_args + << scope_tab << scope_tab << "try {\n" + << scope_tab << scope_tab << scope_tab << "On_" << wrapper_evt_name << "(args);\n" + << scope_tab << scope_tab << "} catch (Exception e) {\n" + << scope_tab << scope_tab << scope_tab << "eina.Log.Error(e.ToString());\n" + << scope_tab << scope_tab << scope_tab << "eina.Error.Set(eina.Error.EFL_ERROR);\n" + << scope_tab << scope_tab << "}\n" + << scope_tab << "}\n" + << scope_tab << "efl.Event_Cb evt_" << wrapper_evt_name << "_delegate;\n" + << scope_tab << "event EventHandler" << wrapper_args_template << " " << klass_name << "." << managed_evt_name << "{\n") + .generate(sink, NULL, context)) + return false; + + if (!as_generator( + scope_tab << scope_tab << "add {\n" + << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n" + << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" + << scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(key, this.evt_" << wrapper_evt_name << "_delegate))\n" + << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << wrapper_evt_name << " += value;\n" + << scope_tab << scope_tab << scope_tab << scope_tab << "else\n" + << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error adding proxy for event {key}\");\n" + << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block + << scope_tab << scope_tab << "}\n" + << scope_tab << scope_tab << "remove {\n" + << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n" + << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" + << scope_tab << scope_tab << scope_tab << scope_tab << "if (remove_cpp_event_handler(key, this.evt_" << wrapper_evt_name << "_delegate))\n" + << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << wrapper_evt_name << " -= value;\n" + << scope_tab << scope_tab << scope_tab << scope_tab << "else\n" + << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error removing proxy for event {key}\");\n" + << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block + << scope_tab << scope_tab << "}\n" + << scope_tab << "}\n") + .generate(sink, NULL, context)) + return false; + + return true; + } +}; + +struct event_definition_parameterized +{ + event_definition_generator operator()(attributes::klass_def const& klass, bool is_inherited_event=false) const + { + return {klass, is_inherited_event}; + } +} const event_definition; + +} + +namespace efl { namespace eolian { namespace grammar { + +template <> +struct is_eager_generator : std::true_type {}; +template <> +struct is_generator : std::true_type {}; + +template <> +struct is_eager_generator : std::true_type {}; +template <> +struct is_generator : std::true_type {}; + +template <> +struct is_eager_generator : std::true_type {}; +template <> +struct is_generator : std::true_type {}; +template <> +struct is_generator : std::true_type {}; + +template <> +struct is_eager_generator : std::true_type {}; +template <> +struct is_generator : std::true_type {}; +template <> +struct is_generator : std::true_type {}; + +namespace type_traits { +template <> +struct attributes_needed : std::integral_constant {}; +template <> +struct attributes_needed : std::integral_constant {}; +template <> +struct attributes_needed : std::integral_constant {}; +template <> +struct attributes_needed : std::integral_constant {}; +template <> +struct attributes_needed : std::integral_constant {}; +template <> +struct attributes_needed : std::integral_constant {}; +} +} } } + +#endif diff --git a/src/bin/eolian_mono/eolian/mono/function_declaration.hh b/src/bin/eolian_mono/eolian/mono/function_declaration.hh index 76bbd6103b..8fdb8269e8 100644 --- a/src/bin/eolian_mono/eolian/mono/function_declaration.hh +++ b/src/bin/eolian_mono/eolian/mono/function_declaration.hh @@ -9,8 +9,9 @@ #include "grammar/alternative.hpp" #include "type.hh" #include "parameter.hh" -#include "keyword.hh" +#include "name_helpers.hh" #include "using_decl.hh" +#include "blacklist.hh" namespace eolian_mono { @@ -19,7 +20,7 @@ struct function_declaration_generator template bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const { - if(is_function_blacklisted(f.c_name)) + if(blacklist::is_function_blacklisted(f.c_name) || f.is_static) return true; if(!as_generator(documentation).generate(sink, f, context)) @@ -27,7 +28,7 @@ struct function_declaration_generator return as_generator (eolian_mono::type(true) << " " << string << "(" << (parameter % ", ") << ");\n") - .generate(sink, std::make_tuple(f.return_type, managed_method_name(f.name), f.parameters), context); + .generate(sink, std::make_tuple(f.return_type, name_helpers::managed_method_name(f), f.parameters), context); } }; diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh index 04e8921fad..7e44b2938b 100644 --- a/src/bin/eolian_mono/eolian/mono/function_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh @@ -10,14 +10,17 @@ #include "grammar/list.hpp" #include "grammar/alternative.hpp" #include "grammar/attribute_reorder.hpp" +#include "logging.hh" #include "type.hh" +#include "name_helpers.hh" +#include "helpers.hh" #include "function_helpers.hh" #include "marshall_type.hh" #include "parameter.hh" -#include "keyword.hh" #include "documentation.hh" #include "using_decl.hh" #include "generation_contexts.hh" +#include "blacklist.hh" namespace eolian_mono { @@ -28,7 +31,8 @@ struct native_function_definition_generator template bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const { - if(is_function_blacklisted(f.c_name)) + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "native_function_definition_generator: " << f.c_name << std::endl; + if(blacklist::is_function_blacklisted(f.c_name) || f.is_static) // Only Concrete classes implement static methods. return true; else { @@ -67,6 +71,8 @@ struct native_function_definition_generator if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context)) return false; + std::string klass_inherit_name = name_helpers::klass_inherit_name(*klass); + if(!as_generator (scope_tab << " private static " @@ -83,7 +89,7 @@ struct native_function_definition_generator << scope_tab << scope_tab << "if(wrapper != null) {\n" << scope_tab << scope_tab << scope_tab << eolian_mono::native_function_definition_preamble() << scope_tab << scope_tab << scope_tab << "try {\n" - << scope_tab << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "") << "((" << string << "Inherit)wrapper)." << string + << scope_tab << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "") << "((" << klass_inherit_name << ")wrapper)." << string << "(" << (native_argument_invocation % ", ") << ");\n" << scope_tab << scope_tab << scope_tab << "} catch (Exception e) {\n" << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Warning($\"Callback error: {e.ToString()}\");\n" @@ -92,18 +98,18 @@ struct native_function_definition_generator << eolian_mono::native_function_definition_epilogue(*klass) << scope_tab << scope_tab << "} else {\n" << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string - << "(efl.eo.Globals.efl_super(obj, " << string << "Inherit.klass)" << *(", " << argument) << ");\n" + << "(efl.eo.Globals.efl_super(obj, " << klass_inherit_name << ".klass)" << *(", " << argument) << ");\n" << scope_tab << scope_tab << "}\n" << scope_tab << "}\n" ) .generate(sink, std::make_tuple(f.return_type, escape_keyword(f.name), f.parameters , /***/f.c_name/***/ , f - , klass->cxx_name, managed_method_name(f.name) + , name_helpers::managed_method_name(f) , f.parameters , f , f.c_name - , klass->cxx_name, f.parameters + , f.parameters ) , context)) return false; @@ -112,10 +118,9 @@ struct native_function_definition_generator (scope_tab << "private static " << string << "_delegate " - << string << "_static_delegate = new " << string << "_delegate(" << string << "NativeInherit." << string << ");\n" + << string << "_static_delegate = new " << string << "_delegate(" << name_helpers::klass_native_inherit_name(*klass) << "." << string << ");\n" ) - .generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, klass->cxx_name - , escape_keyword(f.name)), context)) + .generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, escape_keyword(f.name)), context)) return false; return true; } @@ -131,10 +136,12 @@ struct function_definition_generator template bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const { - if(is_function_blacklisted(f.c_name)) + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "function_definition_generator: " << f.c_name << std::endl; + if(do_super && f.is_static) // Static methods goes only on Concrete classes. return true; - else - { + if(blacklist::is_function_blacklisted(f.c_name)) + return true; + if(!as_generator ("\n\n" << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag(context).actual_library_name(f.filename) << ")]\n" << scope_tab << eolian_mono::marshall_annotation(true) @@ -159,20 +166,19 @@ struct function_definition_generator return false; if(!as_generator - (scope_tab << (do_super ? "virtual " : "") << "public " << return_type << " " << string << "(" << (parameter % ", ") + (scope_tab << (do_super ? "virtual " : "") << "public " << (f.is_static ? "static " : "") << return_type << " " << string << "(" << (parameter % ", ") << ") {\n " << eolian_mono::function_definition_preamble() << string << "(" << (do_super ? "efl.eo.Globals.efl_super(" : "") - << "this.raw_handle" + << (f.is_static ? name_helpers::klass_get_full_name(f.klass) + "()": "this.raw_handle") << (do_super ? ", this.raw_klass)" : "") << *(", " << argument_invocation ) << ");\n" << eolian_mono::function_definition_epilogue() << " }\n") - .generate(sink, std::make_tuple(managed_method_name(f.name), f.parameters, f, f.c_name, f.parameters, f), context)) + .generate(sink, std::make_tuple(name_helpers::managed_method_name(f), f.parameters, f, f.c_name, f.parameters, f), context)) return false; return true; - } } bool do_super; diff --git a/src/bin/eolian_mono/eolian/mono/function_helpers.hh b/src/bin/eolian_mono/eolian/mono/function_helpers.hh index e7af6f9dc0..acfe850032 100644 --- a/src/bin/eolian_mono/eolian/mono/function_helpers.hh +++ b/src/bin/eolian_mono/eolian/mono/function_helpers.hh @@ -10,13 +10,7 @@ #include "grammar/list.hpp" #include "grammar/alternative.hpp" #include "grammar/attribute_reorder.hpp" -/* #include "type.hh" */ -/* #include "marshall_type.hh" */ #include "parameter.hh" -#include "function_pointer.hh" -/* #include "keyword.hh" */ -/* #include "using_decl.hh" */ -/* #include "generation_contexts.hh" */ namespace eolian_mono { @@ -98,9 +92,11 @@ struct native_function_definition_epilogue_generator if (!as_generator( scope_tab << scope_tab << "//Assigning out variables\n" << *(scope_tab << scope_tab << native_convert_out_assign(*klass) << "\n") + << scope_tab << scope_tab << "//Placeholder in ptr variables that need to be updated\n" + << *(scope_tab << scope_tab << native_convert_in_ptr_assign << "\n") << scope_tab << scope_tab << "//Converting return variable\n" << scope_tab << scope_tab << native_convert_return(*klass) - ).generate(sink, std::make_tuple(f.parameters, f.return_type), context)) + ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.return_type), context)) return false; return true; @@ -117,9 +113,11 @@ struct function_definition_epilogue_generator scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n" << scope_tab << scope_tab << "//Assigning out variables\n" << *(scope_tab << scope_tab << convert_out_assign << "\n") + << scope_tab << scope_tab << "//Placeholder in ptr variables that need to be updated\n" + << *(scope_tab << scope_tab << convert_in_ptr_assign << "\n") << scope_tab << scope_tab << "//Converting return variable\n" << scope_tab << scope_tab << convert_return - ).generate(sink, std::make_tuple(f.parameters, f.return_type), context)) + ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.return_type), context)) return false; return true; @@ -160,6 +158,10 @@ struct native_function_definition_epilogue_parameterized { return {&klass}; } + native_function_definition_epilogue_generator const operator()(attributes::klass_def const* klass=nullptr) const + { + return {klass}; + } } const native_function_definition_epilogue; struct function_definition_epilogue_terminal diff --git a/src/bin/eolian_mono/eolian/mono/function_pointer.hh b/src/bin/eolian_mono/eolian/mono/function_pointer.hh index 0890edcb51..f373a13121 100644 --- a/src/bin/eolian_mono/eolian/mono/function_pointer.hh +++ b/src/bin/eolian_mono/eolian/mono/function_pointer.hh @@ -6,50 +6,52 @@ #include #include +#include "function_helpers.hh" #include "documentation.hh" +#include "generation_contexts.hh" namespace eolian_mono { // Blacklist structs that require some kind of manual binding. -static bool is_function_ptr_blacklisted(attributes::function_def const& func, std::vector const &namesp) +static bool is_function_ptr_blacklisted(attributes::function_def const& func) { - std::stringstream full_name; + std::string name = name_helpers::function_ptr_full_eolian_name(func); - for (auto&& i : namesp) - full_name << i << "."; - full_name << func.name; - - std::string name = full_name.str(); - - return name == "Efl.Ui.Format_Func_Cb"; + return false; } struct function_pointer { template - bool generate(OutputIterator sink, attributes::function_def const& f, std::vector const &namesp, Context const& context) const + bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const { + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "function_pointer_generator: " << f.name << std::endl; // FIXME export Typedecl in eolian_cxx API - std::vector namespaces = escape_namespace(namesp); + auto funcptr_ctx = context_add_tag(class_context{class_context::function_ptr}, context); - if (is_function_ptr_blacklisted(f, namesp)) + std::string return_type; + if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context)) + return false; + + if (is_function_ptr_blacklisted(f)) return true; - auto open_namespace = *("namespace " << string << " {") << "\n"; - if(!as_generator(open_namespace).generate(sink, namespaces, add_lower_case_context(context))) return false; + if (!name_helpers::open_namespaces(sink, f.namespaces, funcptr_ctx)) + return false; // C# visible delegate if (!as_generator(documentation << "public delegate " << type << " " << string << "(" << (parameter % ", ") << ");\n") - .generate(sink, std::make_tuple(f, f.return_type, escape_keyword(f.name), f.parameters), context)) + .generate(sink, std::make_tuple(f, f.return_type, name_helpers::escape_keyword(f.name), f.parameters), funcptr_ctx)) return false; // "Internal" delegate, 1-to-1 with the Unamaged function type - if (!as_generator("internal delegate " << type << " " << string // public? - << "Internal(IntPtr data, " << (parameter % ", ") << ");\n") - .generate(sink, std::make_tuple(f.return_type, escape_keyword(f.name), f.parameters), context)) + if (!as_generator(marshall_native_annotation(true) + << "internal delegate " << marshall_type(true) << " " << string // public? + << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_native_annotation << " " << marshall_parameter)) << ");\n") + .generate(sink, std::make_tuple(f.return_type, f.return_type, name_helpers::escape_keyword(f.name), f.parameters), funcptr_ctx)) return false; - std::string f_name = escape_keyword(f.name); + std::string f_name = name_helpers::escape_keyword(f.name); // Wrapper type, with callback matching the Unamanaged one if (!as_generator("internal class " << f_name << "Wrapper\n" << "{\n\n" @@ -72,21 +74,31 @@ struct function_pointer { << scope_tab << "internal " << type << " ManagedCb(" << (parameter % ",") << ")\n" << scope_tab << "{\n" - << scope_tab << scope_tab << (f.return_type.c_type != "void" ? "return ": "") << "_cb(_cb_data, " << (argument_invocation_no_conversion % ", ") << ");\n" + << function_definition_preamble << "_cb(_cb_data, " << (argument_invocation % ", ") << ");\n" + << function_definition_epilogue << scope_tab << "}\n\n" - << scope_tab << "internal static " << type << " Cb(IntPtr cb_data, " << (parameter % ", ") << ")\n" + + << scope_tab << marshall_native_annotation(true) + << scope_tab << "internal static " << marshall_type(true) << " Cb(IntPtr cb_data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_native_annotation << " " << marshall_parameter)) << ")\n" << scope_tab << "{\n" << scope_tab << scope_tab << "GCHandle handle = GCHandle.FromIntPtr(cb_data);\n" << scope_tab << scope_tab << string << " cb = (" << string << ")handle.Target;\n" - << scope_tab << scope_tab << (f.return_type.c_type != "void" ? "return " : "") << "cb(" << (argument_invocation_no_conversion % ", ") << ");\n" + << native_function_definition_preamble + << scope_tab << scope_tab << "try {\n" + << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "") << "cb(" << (native_argument_invocation % ", ") << ");\n" + << scope_tab << scope_tab << "} catch (Exception e) {\n" + << scope_tab << scope_tab << scope_tab << "eina.Log.Warning($\"Callback error: {e.ToString()}\");\n" + << scope_tab << scope_tab << scope_tab << "eina.Error.Set(eina.Error.EFL_ERROR);\n" + << scope_tab << scope_tab << "}\n" + << native_function_definition_epilogue(nullptr) << scope_tab << "}\n" << "}\n" - ).generate(sink, std::make_tuple(f.return_type, f.parameters, f.parameters, f.return_type, f.parameters, f_name, f_name, f.parameters), context)) + ).generate(sink, std::make_tuple(f.return_type, f.parameters, f, f.parameters, f, f.return_type, f.return_type, f.parameters, f_name, f_name, f, f.parameters, f), funcptr_ctx)) return false; - auto close_namespace = *(lit("} ")) << "\n"; - if(!as_generator(close_namespace).generate(sink, namespaces, context)) return false; + if (!name_helpers::close_namespaces(sink, f.namespaces, funcptr_ctx)) + return false; return true; } diff --git a/src/bin/eolian_mono/eolian/mono/function_registration.hh b/src/bin/eolian_mono/eolian/mono/function_registration.hh index a88c938924..22fc42599b 100644 --- a/src/bin/eolian_mono/eolian/mono/function_registration.hh +++ b/src/bin/eolian_mono/eolian/mono/function_registration.hh @@ -10,12 +10,13 @@ #include "grammar/list.hpp" #include "grammar/alternative.hpp" #include "grammar/attribute_reorder.hpp" +#include "logging.hh" #include "type.hh" #include "marshall_type.hh" #include "parameter.hh" -#include "keyword.hh" #include "using_decl.hh" #include "generation_contexts.hh" +#include "blacklist.hh" namespace eolian_mono { @@ -28,7 +29,8 @@ struct function_registration_generator template bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const { - if(is_function_blacklisted(f.c_name)) + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "function_registration_generator: " << f.name << std::endl; + if(blacklist::is_function_blacklisted(f.c_name) || f.is_static) // Static methods aren't overrideable return true; else { @@ -40,9 +42,9 @@ struct function_registration_generator #else (scope_tab << scope_tab << "descs[" << index << "].api_func = efl.eo.Globals.dlsym(efl.eo.Globals.RTLD_DEFAULT, \"" << string << "\");\n" #endif - << scope_tab << scope_tab << "descs[" << index << "].func = Marshal.GetFunctionPointerForDelegate(" << string << "NativeInherit." << string << "_static_delegate);\n" + << scope_tab << scope_tab << "descs[" << index << "].func = Marshal.GetFunctionPointerForDelegate(" << name_helpers::klass_native_inherit_name(*klass) << "." << string << "_static_delegate);\n" ) - .generate(sink, std::make_tuple(f.c_name, klass->cxx_name, f.c_name), context)) + .generate(sink, std::make_tuple(f.c_name, f.c_name), context)) return false; return true; } diff --git a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh index 8563afcb12..7f94de7736 100644 --- a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh +++ b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh @@ -11,6 +11,8 @@ struct class_context inherit, inherit_native, structs, + function_ptr, + alias, }; wrapper_kind current_wrapper_kind; }; diff --git a/src/bin/eolian_mono/eolian/mono/helpers.hh b/src/bin/eolian_mono/eolian/mono/helpers.hh index 7d013bd6f5..40a99915ab 100644 --- a/src/bin/eolian_mono/eolian/mono/helpers.hh +++ b/src/bin/eolian_mono/eolian/mono/helpers.hh @@ -2,55 +2,44 @@ #define EOLIAN_MONO_HELPERS_HH #include "grammar/klass_def.hpp" +#include "blacklist.hh" +#include "name_helpers.hh" namespace eolian_mono { +namespace helpers { + +/* General helpers, not related directly with generating strings (those go in the name_helpers.hh). */ + namespace attributes = efl::eolian::grammar::attributes; -inline std::string type_full_name(attributes::regular_type_def const& type) -{ - std::string full_name; - for (auto& name : type.namespaces) - { - full_name += name + "."; - } - full_name += type.base_type; - return full_name; -} - -inline std::string struct_full_name(attributes::struct_def const& struct_) -{ - std::string full_name; - for (auto& name : struct_.namespaces) - { - full_name += name + "."; - } - full_name += struct_.cxx_name; - return full_name; -} - -// Blacklist structs that require some kind of manual binding. -inline bool is_struct_blacklisted(std::string const& full_name) -{ - return full_name == "Efl.Event.Description" - || full_name == "Eina.Binbuf" - || full_name == "Eina.Slice" - || full_name == "Eina.Rw_Slice"; -} - -inline bool is_struct_blacklisted(attributes::struct_def const& struct_) -{ - return is_struct_blacklisted(struct_full_name(struct_)); -} - -inline bool is_struct_blacklisted(attributes::regular_type_def const& struct_) -{ - return is_struct_blacklisted(type_full_name(struct_)); -} - inline bool need_struct_conversion(attributes::regular_type_def const* regular) { - return regular && regular->is_struct() && !is_struct_blacklisted(*regular); + return regular && regular->is_struct() && !blacklist::is_struct_blacklisted(*regular); +} + +inline bool need_struct_conversion(attributes::parameter_def const& param, attributes::regular_type_def const* regular) +{ + if (param.direction == attributes::parameter_direction::in && param.type.has_own) + return false; + + return need_struct_conversion(regular); +} + +inline bool need_struct_conversion_in_return(attributes::type_def const& ret_type, attributes::parameter_direction const& direction) +{ + auto regular = efl::eina::get(&ret_type.original_type); + + if (!regular->is_struct()) + return false; + + if (regular->is_struct() && (direction == attributes::parameter_direction::out || direction == attributes::parameter_direction::unknown)) + return false; + + if (ret_type.has_own) + return false; + + return true; } inline bool need_pointer_conversion(attributes::regular_type_def const* regular) @@ -59,7 +48,7 @@ inline bool need_pointer_conversion(attributes::regular_type_def const* regular) return false; if (regular->is_enum() - || (regular->is_struct() && type_full_name(*regular) != "Eina.Binbuf") + || (regular->is_struct() && name_helpers::type_full_eolian_name(*regular) != "Eina.Binbuf") ) return true; @@ -76,7 +65,8 @@ inline bool need_pointer_conversion(attributes::regular_type_def const* regular) return false; } +} // namespace helpers -} +} // namespace eolian_mono #endif diff --git a/src/bin/eolian_mono/eolian/mono/keyword.hh b/src/bin/eolian_mono/eolian/mono/keyword.hh deleted file mode 100644 index fbe853af5b..0000000000 --- a/src/bin/eolian_mono/eolian/mono/keyword.hh +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef EOLIAN_CXX_KEYWORD_HH -#define EOLIAN_CXX_KEYWORD_HH - -#include -#include -#include - -#include "name_helpers.hh" - -namespace eolian_mono { -namespace detail { -inline bool is_iequal(std::string const& lhs, std::string const& rhs) -{ - return strcasecmp(lhs.c_str(), rhs.c_str()) == 0; -} -} - -inline std::string escape_keyword(std::string const& name) -{ - using detail::is_iequal; - if(is_iequal(name, "delete") - || is_iequal(name, "register") - || is_iequal(name, "do") - || is_iequal(name, "lock") - || is_iequal(name, "event") - || is_iequal(name, "in") - || is_iequal(name, "object") - || is_iequal(name, "interface") - || is_iequal(name, "string") - || is_iequal(name, "internal") - || is_iequal(name, "fixed") - || is_iequal(name, "base")) - return "kw_" + name; - - if (is_iequal(name, "Finalize")) - return name + "Add"; // Eo's Finalize is actually the end of efl_add. - return name; -} - - -std::string managed_method_name(std::string const& underscore_name) -{ - std::vector names = name_helpers::split(underscore_name, '_'); - - name_helpers::reorder_verb(names); - - return escape_keyword(name_helpers::pascal_case(names)); -} - -} - -#endif diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh index 119cd73d12..ce90b4a96e 100644 --- a/src/bin/eolian_mono/eolian/mono/klass.hh +++ b/src/bin/eolian_mono/eolian/mono/klass.hh @@ -4,17 +4,20 @@ #include "grammar/integral.hpp" #include "grammar/generator.hpp" #include "grammar/klass_def.hpp" -#include "function_blacklist.hh" +#include "blacklist.hh" #include "grammar/indentation.hpp" #include "grammar/list.hpp" #include "grammar/alternative.hpp" #include "type.hh" -#include "namespace.hh" +#include "name_helpers.hh" +#include "async_function_definition.hh" #include "function_definition.hh" #include "function_registration.hh" #include "function_declaration.hh" #include "documentation.hh" +#include "part_definition.hh" +#include "events.hh" #include "grammar/string.hpp" #include "grammar/attribute_replace.hpp" #include "grammar/integral.hpp" @@ -28,15 +31,15 @@ namespace eolian_mono { template -static bool generate_static_cast_method(OutputIterator sink, const std::string &class_name, Context const &context) +static bool generate_static_cast_method(OutputIterator sink, grammar::attributes::klass_def const& cls, Context const &context) { return as_generator( scope_tab << "///Casts obj into an instance of this type.\n" - << scope_tab << "public static " << class_name << " static_cast(efl.Object obj)\n" + << scope_tab << "public static " << name_helpers::klass_interface_name(cls) << " static_cast(efl.IObject obj)\n" << scope_tab << "{\n" << scope_tab << scope_tab << "if (obj == null)\n" << scope_tab << scope_tab << scope_tab << "throw new System.ArgumentNullException(\"obj\");\n" - << scope_tab << scope_tab << "return new " << class_name << "Concrete(obj.raw_handle);\n" + << scope_tab << scope_tab << "return new " << name_helpers::klass_concrete_name(cls) << "(obj.raw_handle);\n" << scope_tab << "}\n" ).generate(sink, nullptr, context); } @@ -48,7 +51,7 @@ static bool generate_equals_method(OutputIterator sink, Context const &context) scope_tab << "///Verifies if the given object is equals to this.\n" << scope_tab << "public override bool Equals(object obj)\n" << scope_tab << "{\n" - << scope_tab << scope_tab << "var other = obj as efl.Object;\n" + << scope_tab << scope_tab << "var other = obj as efl.IObject;\n" << scope_tab << scope_tab << "if (other == null)\n" << scope_tab << scope_tab << scope_tab << "return false;\n" << scope_tab << scope_tab << "return this.raw_handle == other.raw_handle;\n" @@ -58,74 +61,38 @@ static bool generate_equals_method(OutputIterator sink, Context const &context) << scope_tab << "{\n" << scope_tab << scope_tab << "return this.raw_handle.ToInt32();\n" << scope_tab << "}\n" + << scope_tab << "///How native pointer in string representation.\n" + << scope_tab << "public override String ToString()\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "return $\"{this.GetType().Name}@[{this.raw_handle.ToInt32():x}]\";\n" + << scope_tab << "}\n" ).generate(sink, nullptr, context); } /* Get the actual number of functions of a class, checking for blacklisted ones */ static std::size_t -get_function_count(grammar::attributes::klass_def const& cls) +get_inheritable_function_count(grammar::attributes::klass_def const& cls) { auto methods = cls.get_all_methods(); return std::count_if(methods.cbegin(), methods.cend(), [](grammar::attributes::function_def const& func) { - return !is_function_blacklisted(func.c_name); + return !blacklist::is_function_blacklisted(func.c_name) && !func.is_static; }); } -struct get_csharp_type_visitor +template +static bool +is_inherit_context(Context const& context) { - typedef get_csharp_type_visitor visitor_type; - typedef std::string result_type; - std::string operator()(grammar::attributes::regular_type_def const& type) const - { - std::stringstream csharp_name; - for (auto&& i : escape_namespace(type.namespaces)) - csharp_name << utils::to_lowercase(i) << "."; - csharp_name << type.base_type; - - return csharp_name.str(); - } - std::string operator()(grammar::attributes::klass_name const& name) const - { - std::stringstream csharp_name; - for (auto&& i : escape_namespace(name.namespaces)) - csharp_name << utils::to_lowercase(i) << "."; - csharp_name << name.eolian_name; - - return csharp_name.str(); - } - std::string operator()(attributes::complex_type_def const&) const - { - return "UNSUPPORTED"; - } -}; - -struct get_event_args_visitor -{ - - std::string arg_type; - - typedef get_event_args_visitor visitor_type; - typedef std::string result_type; - std::string operator()(grammar::attributes::regular_type_def const&) const - { - return "(" + arg_type + ")Marshal.PtrToStructure(evt.Info, typeof(" + arg_type + "))"; - } - std::string operator()(grammar::attributes::klass_name const&) const - { - return "new " + arg_type + "Concrete(evt.Info)"; - } - std::string operator()(attributes::complex_type_def const&) const - { - return "UNSUPPORTED"; - } -}; + return context_find_tag(context).current_wrapper_kind == class_context::inherit; +} struct klass { template bool generate(OutputIterator sink, attributes::klass_def const& cls, Context const& context) const { + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "klass_generator: " << cls.eolian_name << std::endl; std::string suffix, class_type; switch(cls.type) { @@ -144,33 +111,11 @@ struct klass break; } - std::vector namespaces = escape_namespace(cls.namespaces); - auto open_namespace = *("namespace " << string << " { ") << "\n"; - if(!as_generator(open_namespace).generate(sink, namespaces, add_lower_case_context(context))) return false; + if (!name_helpers::open_namespaces(sink, cls.namespaces, context)) + return false; + auto methods = cls.get_all_methods(); - // FIXME Generate local event argument wrappers - for (auto&& e : cls.events) - { - efl::eina::optional etype = e.type; - if (!etype.is_engaged()) - continue; - - std::string evt_name = utils::to_uppercase(e.name); - std::replace(evt_name.begin(), evt_name.end(), ',', '_'); - std::string arg_type = (*etype).original_type.visit(get_csharp_type_visitor{}); - - if (!as_generator("///Event argument wrapper for event " << string << ".\n" - ).generate(sink, evt_name, context)) - return false; - - if (!as_generator("public class " << evt_name << "_Args : EventArgs {\n" - << scope_tab << "///Actual event payload.\n" - << scope_tab << "public " << arg_type << " arg { get; set; }\n" - << "}\n").generate(sink, NULL, context)) - return false; - } - // Interface class { auto iface_cxt = context_add_tag(class_context{class_context::interface}, context); @@ -182,60 +127,51 @@ struct klass ( "public " /*<< class_type*/ "interface" /*<<*/ " " << string << " : " ) - .generate(sink, cls.cxx_name, iface_cxt)) + .generate(sink, name_helpers::klass_interface_name(cls), iface_cxt)) return false; for(auto first = std::begin(cls.immediate_inherits) , last = std::end(cls.immediate_inherits); first != last; ++first) { - if(!as_generator("\n" << scope_tab << *(lower_case[string] << ".") << string << " ,") - .generate(sink, std::make_tuple(escape_namespace(first->namespaces), first->eolian_name), iface_cxt)) + if(!as_generator("\n" << scope_tab << string << " ,").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt)) return false; - // if(std::next(first) != last) - // *sink++ = ','; } - // if(cls.immediate_inherits.empty()) - if(!as_generator("\n" << scope_tab << "efl.eo.IWrapper, IDisposable").generate(sink, attributes::unused, iface_cxt)) return false; - if(!as_generator("\n{\n").generate(sink, attributes::unused, iface_cxt)) return false; - - if(!as_generator(*(scope_tab << function_declaration)) - .generate(sink, cls.functions, iface_cxt)) return false; - // FIXME Move the event generator into another generator like function? - for (auto &&e : cls.events) - { - std::string wrapper_args_type; - std::string evt_name = utils::to_uppercase(e.name); - std::replace(evt_name.begin(), evt_name.end(), ',', '_'); + if(!as_generator("\n" << scope_tab << "efl.eo.IWrapper, IDisposable").generate(sink, attributes::unused, iface_cxt)) + return false; - efl::eina::optional etype = e.type; - if (etype.is_engaged()) - wrapper_args_type = "<" + evt_name + "_Args>"; + if(!as_generator("\n{\n").generate(sink, attributes::unused, iface_cxt)) + return false; + if(!as_generator(*(scope_tab << function_declaration)).generate(sink, cls.functions, iface_cxt)) + return false; - if (!as_generator(documentation(1)).generate(sink, e, iface_cxt)) - return false; + if(!as_generator(*(scope_tab << async_function_declaration)).generate(sink, cls.functions, iface_cxt)) + return false; - //FIXME Add a way to generate camelcase names - if (!as_generator( - scope_tab << "event EventHandler" << wrapper_args_type << " " - << evt_name << ";\n" - ).generate(sink, NULL, iface_cxt)) - return false; - } + if(!as_generator(*(event_declaration)).generate(sink, cls.events, iface_cxt)) + return false; + + for (auto &&p : cls.parts) + if (!as_generator( + documentation(1) + << name_helpers::klass_full_interface_name(p.klass) << " " << utils::capitalize(p.name) << "{ get;}\n" + ).generate(sink, p, iface_cxt)) + return false; // End of interface declaration if(!as_generator("}\n").generate(sink, attributes::unused, iface_cxt)) return false; } - auto class_get_name = *(lower_case[string] << "_") << lower_case[string] << "_class_get"; // Concrete class // if(class_type == "class") { auto concrete_cxt = context_add_tag(class_context{class_context::concrete}, context); + auto concrete_name = name_helpers::klass_concrete_name(cls); + auto interface_name = name_helpers::klass_interface_name(cls); if(!as_generator ( documentation - << "sealed public class " << string << "Concrete : " << string << "\n{\n" + << "sealed public class " << concrete_name << " : " << interface_name << "\n{\n" << scope_tab << "System.IntPtr handle;\n" << scope_tab << "///Pointer to the native instance.\n" << scope_tab << "public System.IntPtr raw_handle {\n" @@ -246,42 +182,43 @@ struct klass << scope_tab << scope_tab << "get { return efl.eo.Globals.efl_class_get(handle); }\n" << scope_tab << "}\n" << scope_tab << "///Delegate for function to be called from inside the native constructor.\n" - << scope_tab << "public delegate void ConstructingMethod(" << string << " obj);\n" + << scope_tab << "public delegate void ConstructingMethod(" << interface_name << " obj);\n" + << scope_tab << "///Returns the pointer the unerlying Eo class object. Used internally on class methods.\n" << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag(concrete_cxt).actual_library_name(cls.filename) - << ")] private static extern System.IntPtr\n" - << scope_tab << scope_tab << class_get_name << "();\n" + << ")] public static extern System.IntPtr\n" + << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n" << (class_type == "class" ? "" : "/*") << scope_tab << "///Creates a new instance.\n" << scope_tab << "///Parent instance.\n" << scope_tab << "///Delegate to call constructing methods that should be run inside the constructor.\n" - << scope_tab << "public " << string << "Concrete(efl.Object parent = null, ConstructingMethod init_cb=null)\n" + << scope_tab << "public " << concrete_name << "(efl.IObject parent = null, ConstructingMethod init_cb=null)\n" << scope_tab << "{\n" - << scope_tab << scope_tab << "System.IntPtr klass = " << class_get_name << "();\n" + << scope_tab << scope_tab << "System.IntPtr klass = " << name_helpers::klass_get_name(cls) << "();\n" << scope_tab << scope_tab << "System.IntPtr parent_ptr = System.IntPtr.Zero;\n" << scope_tab << scope_tab << "if(parent != null)\n" << scope_tab << scope_tab << scope_tab << "parent_ptr = parent.raw_handle;\n" - << scope_tab << scope_tab << "handle = efl.eo.Globals._efl_add_internal_start(\"file\", 0, klass, parent_ptr, 0, 0);\n" + << scope_tab << scope_tab << "handle = efl.eo.Globals._efl_add_internal_start(\"file\", 0, klass, parent_ptr, 1, 0);\n" << scope_tab << scope_tab << "if (init_cb != null) {\n" << scope_tab << scope_tab << scope_tab << "init_cb(this);\n" << scope_tab << scope_tab << "}\n" - << scope_tab << scope_tab << "handle = efl.eo.Globals._efl_add_end(handle, 0, 0);\n" // replace handle with the actual final handle + << scope_tab << scope_tab << "handle = efl.eo.Globals._efl_add_end(handle, 1, 0);\n" // replace handle with the actual final handle << scope_tab << scope_tab << "register_event_proxies();\n" << scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n" << scope_tab << "}\n" << (class_type == "class" ? "" : "*/") << scope_tab << "///Constructs an instance from a native pointer.\n" - << scope_tab << "public " << string << "Concrete(System.IntPtr raw)\n" + << scope_tab << "public " << concrete_name << "(System.IntPtr raw)\n" << scope_tab << "{\n" << scope_tab << scope_tab << "handle = raw;\n" << scope_tab << scope_tab << "register_event_proxies();\n" << scope_tab << "}\n" << scope_tab << "///Destructor.\n" - << scope_tab << "~" << string << "Concrete()\n" + << scope_tab << "~" << concrete_name << "()\n" << scope_tab << "{\n" << scope_tab << scope_tab << "Dispose(false);\n" << scope_tab << "}\n" << scope_tab << "///Releases the underlying native instance.\n" - << scope_tab << "protected void Dispose(bool disposing)\n" + << scope_tab << "internal void Dispose(bool disposing)\n" << scope_tab << "{\n" << scope_tab << scope_tab << "if (handle != System.IntPtr.Zero) {\n" << scope_tab << scope_tab << scope_tab << "efl.eo.Globals.efl_unref(handle);\n" @@ -295,15 +232,10 @@ struct klass << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n" << scope_tab << "}\n" ) - .generate(sink - , std::make_tuple( cls, - cls.cxx_name, cls.cxx_name, cls.cxx_name, cls.namespaces, cls.eolian_name - , cls.cxx_name, cls.namespaces, cls.eolian_name, cls.cxx_name - , cls.cxx_name) - , concrete_cxt)) + .generate(sink, cls, concrete_cxt)) return false; - if (!generate_static_cast_method(sink, cls.cxx_name, concrete_cxt)) + if (!generate_static_cast_method(sink, cls, concrete_cxt)) return false; if (!generate_equals_method(sink, concrete_cxt)) @@ -315,10 +247,21 @@ struct klass if (!generate_events_registration(sink, cls, concrete_cxt)) return false; + // Parts + if(!as_generator(*(part_definition)) + .generate(sink, cls.get_all_parts(), concrete_cxt)) return false; + // Concrete function definitions if(!as_generator(*(function_definition)) .generate(sink, methods, concrete_cxt)) return false; + // Async wrappers + if(!as_generator(*(async_function_definition)).generate(sink, methods, concrete_cxt)) + return false; + + if(!as_generator(*(event_argument_wrapper)).generate(sink, cls.events, context)) + return false; + if(!as_generator("}\n").generate(sink, attributes::unused, concrete_cxt)) return false; } @@ -329,10 +272,15 @@ struct klass bool cls_has_string_return = has_string_return(cls); bool cls_has_stringshare_return = has_stringshare_return(cls); + auto interface_name = name_helpers::klass_interface_name(cls); + auto inherit_name = name_helpers::klass_inherit_name(cls); + auto native_inherit_name = name_helpers::klass_native_inherit_name(cls); + + if(!as_generator ( documentation - << "public " << class_type << " " << string << "Inherit : " << string << "\n{\n" + << "public " << class_type << " " << inherit_name << " : " << interface_name << "\n{\n" << scope_tab << "System.IntPtr handle;\n" << scope_tab << "internal static System.IntPtr klass = System.IntPtr.Zero;\n" << scope_tab << "private static readonly object klassAllocLock = new object();\n" @@ -347,20 +295,19 @@ struct klass << scope_tab << scope_tab << "get { return klass; }\n" << scope_tab << "}\n" << scope_tab << "///Delegate for function to be called from inside the native constructor.\n" - << scope_tab << "public delegate void ConstructingMethod(" << string << " obj);\n" + << scope_tab << "public delegate void ConstructingMethod(" << interface_name << " obj);\n" << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag(inherit_cxt).actual_library_name(cls.filename) << ")] private static extern System.IntPtr\n" - << scope_tab << scope_tab << class_get_name << "();\n" + << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n" << scope_tab << "///Creates a new instance.\n" << scope_tab << "///Parent instance.\n" << scope_tab << "///Delegate to call constructing methods that should be run inside the constructor.\n" - << scope_tab << "public " << string << "Inherit(efl.Object parent = null, ConstructingMethod init_cb=null)\n" + << scope_tab << "public " << inherit_name << "(efl.IObject parent = null, ConstructingMethod init_cb=null)\n" << scope_tab << "{\n" << scope_tab << scope_tab << "if (klass == System.IntPtr.Zero) {\n" << scope_tab << scope_tab << scope_tab << "lock (klassAllocLock) {\n" << scope_tab << scope_tab << scope_tab << scope_tab << "if (klass == System.IntPtr.Zero) {\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "klass = efl.eo.Globals.register_class(new efl.eo.Globals.class_initializer(" << string << "NativeInherit.class_initializer), " << class_get_name << "());\n" - //<< scope_tab << scope_tab << "klass = efl.eo.Globals.register_class(null/*new efl.eo.Globals.class_initializer(" << string << "NativeInherit.class_initializer)*/, " << class_get_name << "());\n" + << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "klass = efl.eo.Globals.register_class(new efl.eo.Globals.class_initializer(" << native_inherit_name << ".class_initializer), \"" << cls.eolian_name << "\", " << name_helpers::klass_get_name(cls) << "());\n" << scope_tab << scope_tab << scope_tab << scope_tab << "}\n" << scope_tab << scope_tab << scope_tab << "}\n" << scope_tab << scope_tab << "}\n" @@ -374,7 +321,7 @@ struct klass << scope_tab << scope_tab << "eina.Error.RaiseIfOccurred();\n" << scope_tab << "}\n" << scope_tab << "///Destructor.\n" - << scope_tab << "~" << string << "Inherit()\n" + << scope_tab << "~" << inherit_name << "()\n" << scope_tab << "{\n" << scope_tab << scope_tab << "Dispose(false);\n" << scope_tab << "}\n" @@ -395,15 +342,7 @@ struct klass << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n" << scope_tab << "}\n" ) - .generate(sink - , std::make_tuple( - cls, cls.cxx_name, cls.cxx_name, cls.cxx_name, cls.namespaces, cls.eolian_name - , cls.cxx_name, cls.cxx_name, cls.namespaces, cls.eolian_name, cls.cxx_name - , cls.cxx_name) - , inherit_cxt)) - return false; - - if (!generate_static_cast_method(sink, cls.cxx_name, inherit_cxt)) + .generate(sink, cls, inherit_cxt)) return false; if (!generate_equals_method(sink, inherit_cxt)) @@ -415,14 +354,22 @@ struct klass if (!generate_events_registration(sink, cls, inherit_cxt)) return false; + // Parts + if(!as_generator(*(part_definition)) + .generate(sink, cls.get_all_parts(), inherit_cxt)) return false; + // Inherit function definitions if(!as_generator(*(function_definition(true))) .generate(sink, methods, inherit_cxt)) return false; + // Async wrappers + if(!as_generator(*(async_function_definition(true))).generate(sink, methods, inherit_cxt)) + return false; + if(!as_generator("}\n").generate(sink, attributes::unused, inherit_cxt)) return false; } - std::size_t function_count = get_function_count(cls); + std::size_t function_count = get_inheritable_function_count(cls); int function_registration_index = 0; auto index_generator = [&function_registration_index] @@ -434,14 +381,15 @@ struct klass if(class_type == "class") { auto inative_cxt = context_add_tag(class_context{class_context::inherit_native}, context); + auto native_inherit_name = name_helpers::klass_native_inherit_name(cls); if(!as_generator ( - "internal " << class_type << " " << string << "NativeInherit {\n" + "internal " << class_type << " " << native_inherit_name << " {\n" << scope_tab << "public static byte class_initializer(IntPtr klass)\n" << scope_tab << "{\n" << scope_tab << scope_tab << "Efl_Op_Description[] descs = new Efl_Op_Description[" << grammar::int_ << "];\n" ) - .generate(sink, std::make_tuple(cls.cxx_name, function_count), inative_cxt)) + .generate(sink, function_count, inative_cxt)) return false; // Native wrapper registration @@ -463,22 +411,22 @@ struct klass << scope_tab << scope_tab << "Marshal.StructureToPtr(ops, ops_ptr, false);\n" << scope_tab << scope_tab << "efl.eo.Globals.efl_class_functions_set(klass, ops_ptr, IntPtr.Zero);\n" ).generate(sink, attributes::unused, inative_cxt)) return false; - - + + if(!as_generator(scope_tab << scope_tab << "return 1;\n" << scope_tab << "}\n") .generate(sink, attributes::unused, inative_cxt)) return false; - + // // Native method definitions if(!as_generator(*(native_function_definition(cls))) .generate(sink, methods, inative_cxt)) return false; if(!as_generator("}\n").generate(sink, attributes::unused, inative_cxt)) return false; } - - auto close_namespace = *(lit("} ")) << "\n"; - if(!as_generator(close_namespace).generate(sink, namespaces, context)) return false; - + + if(!name_helpers::close_namespaces(sink, cls.namespaces, context)) + return false; + return true; } @@ -496,29 +444,16 @@ struct klass // Generate event registrations here // Assigning the delegates - for (auto&& e : cls.events) - { - if (!as_generator(scope_tab << scope_tab << "evt_" << grammar::string_replace(',', '_') << "_delegate = " - << "new efl.Event_Cb(on_" << grammar::string_replace(',', '_') << "_NativeCallback);\n") - .generate(sink, std::make_tuple(e.name, e.name), context)) - return false; - } + if (!as_generator(*(event_registration())).generate(sink, cls.events, context)) + return false; for (auto&& c : cls.inherits) { attributes::klass_def klass(get_klass(c, cls.unit), cls.unit); - for (auto&& e : klass.events) - { - std::string wrapper_event_name = translate_inherited_event_name(e, klass); - - if (!as_generator(scope_tab << scope_tab << "evt_" << wrapper_event_name << "_delegate = " - << "new efl.Event_Cb(on_" << wrapper_event_name << "_NativeCallback);\n") - .generate(sink, NULL, context)) - return false; - } + if (!as_generator(*(event_registration(&klass))).generate(sink, klass.events, context)) + return false; } - if (!as_generator( scope_tab << "}\n" @@ -528,21 +463,6 @@ struct klass return true; } - static std::string translate_inherited_event_name(const attributes::event_def &evt, const attributes::klass_def &klass) - { - std::stringstream s; - - for (auto&& n : klass.namespaces) - { - s << n; - s << '_'; - } - std::string evt_name = utils::to_uppercase(evt.name); - std::replace(evt_name.begin(), evt_name.end(), ',', '_'); - s << klass.cxx_name << '_' << evt_name; - return s.str(); - } - template bool generate_events(OutputIterator sink, attributes::klass_def const& cls, Context const& context) const { @@ -550,6 +470,8 @@ struct klass if (!has_events(cls)) return true; + std::string visibility = is_inherit_context(context) ? "protected" : "private"; + if (!as_generator(scope_tab << "private readonly object eventLock = new object();\n" << scope_tab << "private Dictionary event_cb_count = new Dictionary();\n") .generate(sink, NULL, context)) @@ -578,7 +500,7 @@ struct klass << scope_tab << scope_tab << "if (!event_cb_count.TryGetValue(key, out event_count))\n" << scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n" << scope_tab << scope_tab << "if (event_count == 1) {\n" - << scope_tab << scope_tab << scope_tab << "efl.kw_event.Description desc = new efl.kw_event.Description(key);\n" + << scope_tab << scope_tab << scope_tab << "efl.Event_Description desc = new efl.Event_Description(key);\n" << scope_tab << scope_tab << scope_tab << "bool result = efl.eo.Globals.efl_event_callback_del(handle, desc, evt_delegate, System.IntPtr.Zero);\n" << scope_tab << scope_tab << scope_tab << "if (!result) {\n" << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Failed to remove event proxy for event {key}\");\n" @@ -597,173 +519,15 @@ struct klass return false; // Self events - for (auto&& e : cls.events) - { - std::string upper_name = utils::to_uppercase(e.name); - std::replace(upper_name.begin(), upper_name.end(), ',', '_'); - std::string upper_c_name = utils::to_uppercase(e.c_name); - std::string event_name = e.name; - std::replace(event_name.begin(), event_name.end(), ',', '_'); - - std::string wrapper_args_type = "EventArgs"; - std::string wrapper_args_template = ""; - std::string event_args = "EventArgs args = EventArgs.Empty;\n"; - - efl::eina::optional etype = e.type; - if (etype.is_engaged()) - { - wrapper_args_type = upper_name + "_Args"; - wrapper_args_template = "<" + wrapper_args_type + ">"; - std::string arg_type = wrapper_args_type + " args = new " + wrapper_args_type + "();\n"; // = (*etype).original_type.visit(get_csharp_type_visitor{}); - std::string actual_arg_type = (*etype).original_type.visit(get_csharp_type_visitor{}); - arg_type += "args.arg = " + (*etype).original_type.visit(get_event_args_visitor{actual_arg_type}) + ";\n"; - - event_args = arg_type; - } - // Marshal.PtrToStructure for value types - - // Wrapper event declaration - if(!as_generator(documentation(1)).generate(sink, e, context)) - return false; - - if(!as_generator( - scope_tab << "protected event EventHandler" << wrapper_args_template << " " << upper_name << ";\n" - << scope_tab << "///Method to raise event "<< event_name << ".\n" - << scope_tab << "protected void On_" << event_name << "(" << wrapper_args_type << " e)\n" - << scope_tab << "{\n" - << scope_tab << scope_tab << "EventHandler" << wrapper_args_template << " evt;\n" - << scope_tab << scope_tab << "lock (eventLock) {\n" - << scope_tab << scope_tab << scope_tab << "evt = " << upper_name << ";\n" - << scope_tab << scope_tab << "}\n" - << scope_tab << scope_tab << "if (evt != null) { evt(this, e); }\n" - << scope_tab << "}\n" - << scope_tab << "private void on_" << event_name << "_NativeCallback(System.IntPtr data, ref efl.Event evt)\n" - << scope_tab << "{\n" - << scope_tab << scope_tab << event_args - << scope_tab << scope_tab << "try {\n" - << scope_tab << scope_tab << scope_tab << "On_" << event_name << "(args);\n" - << scope_tab << scope_tab << "} catch (Exception e) {\n" - << scope_tab << scope_tab << scope_tab << "eina.Log.Error(e.ToString());\n" - << scope_tab << scope_tab << scope_tab << "eina.Error.Set(eina.Error.EFL_ERROR);\n" - << scope_tab << scope_tab << "}\n" - << scope_tab << "}\n" - << scope_tab << "efl.Event_Cb evt_" << event_name << "_delegate;\n" - << scope_tab << "event EventHandler" << wrapper_args_template << " " << cls.cxx_name << "." << upper_name << "{\n") - .generate(sink, NULL, context)) - return false; - - if (!as_generator( - scope_tab << scope_tab << "add {\n" - << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(key, this.evt_" << event_name << "_delegate))\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << upper_name << " += value;\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "else\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error adding proxy for event {key}\");\n" - << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block - << scope_tab << scope_tab << "}\n" - << scope_tab << scope_tab << "remove {\n" - << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "if (remove_cpp_event_handler(key, this.evt_" << event_name << "_delegate))\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << upper_name << " -= value;\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "else\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error removing proxy for event {key}\");\n" - << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block - << scope_tab << scope_tab << "}\n" - << scope_tab << "}\n") - .generate(sink, NULL, context)) - return false; - } + if (!as_generator(*(event_definition(cls))).generate(sink, cls.events, context)) + return false; // Inherited events for (auto&& c : cls.inherits) { attributes::klass_def klass(get_klass(c, cls.unit), cls.unit); - - // FIXME Enable inherited events registration. Beware of conflicting events - for (auto&& e : klass.events) - { - - std::string wrapper_evt_name = translate_inherited_event_name(e, klass); - std::string upper_name = utils::to_uppercase(e.name); - std::replace(upper_name.begin(), upper_name.end(), ',', '_'); - std::string upper_c_name = utils::to_uppercase(e.c_name); - - std::stringstream wrapper_args_type; - std::string wrapper_args_template; - std::string event_args = "EventArgs args = EventArgs.Empty;\n"; - - efl::eina::optional etype = e.type; - if (etype.is_engaged()) - { - for (auto&& i : klass.namespaces) - { - wrapper_args_type << escape_keyword(utils::to_lowercase(i)) << "."; - } - wrapper_args_type << upper_name << "_Args"; - wrapper_args_template = "<" + wrapper_args_type.str() + ">"; - std::string arg_type = wrapper_args_type.str() + " args = new " + wrapper_args_type.str() + "();\n"; // = (*etype).original_type.visit(get_csharp_type_visitor{}); - std::string actual_arg_type = (*etype).original_type.visit(get_csharp_type_visitor{}); - arg_type += "args.arg = " + (*etype).original_type.visit(get_event_args_visitor{actual_arg_type}) + ";\n"; - event_args = arg_type; - } - else - { - wrapper_args_type << "EventArgs"; - } - - if (!as_generator(documentation(1)).generate(sink, e, context)) - return false; - - if (!as_generator( - scope_tab << "protected event EventHandler" << wrapper_args_template << " " << wrapper_evt_name << ";\n" - << scope_tab << "///Method to raise event "<< wrapper_evt_name << ".\n" - << scope_tab << "protected void On_" << wrapper_evt_name << "(" << wrapper_args_type.str() << " e)\n" - << scope_tab << "{\n" - << scope_tab << scope_tab << "EventHandler" << wrapper_args_template << " evt;\n" - << scope_tab << scope_tab << "lock (eventLock) {\n" - << scope_tab << scope_tab << scope_tab << "evt = " << wrapper_evt_name << ";\n" - << scope_tab << scope_tab << "}\n" - << scope_tab << scope_tab << "if (evt != null) { evt(this, e); }\n" - << scope_tab << "}\n" - << scope_tab << "efl.Event_Cb evt_" << wrapper_evt_name << "_delegate;\n" - << scope_tab << "private void on_" << wrapper_evt_name << "_NativeCallback(System.IntPtr data, ref efl.Event evt)" - << scope_tab << "{\n" - << scope_tab << scope_tab << event_args - << scope_tab << scope_tab << "try {\n" - << scope_tab << scope_tab << scope_tab << "On_" << wrapper_evt_name << "(args);\n" - << scope_tab << scope_tab << "} catch (Exception e) {\n" - << scope_tab << scope_tab << scope_tab << "eina.Log.Error(e.ToString());\n" - << scope_tab << scope_tab << scope_tab << "eina.Error.Set(eina.Error.EFL_ERROR);\n" - << scope_tab << scope_tab << "}\n" - << scope_tab << "}\n" - << scope_tab << "event EventHandler" << wrapper_args_template << " " << *(lower_case[string] << ".") << klass.cxx_name << ".") - .generate(sink, escape_namespace(klass.namespaces), context)) - return false; - if (!as_generator(upper_name << " {\n" - << scope_tab << scope_tab << "add {\n" - << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(key, this.evt_" << wrapper_evt_name << "_delegate))\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << wrapper_evt_name << " += value;\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "else\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error adding proxy for event {key}\");\n" - << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block - << scope_tab << scope_tab << "}\n" - << scope_tab << scope_tab << "remove {\n" - << scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "if (remove_cpp_event_handler(key, this.evt_" << wrapper_evt_name << "_delegate))\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << wrapper_evt_name << " -= value;\n" - << scope_tab << scope_tab << scope_tab << scope_tab << "else\n" - << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eina.Log.Error($\"Error removing proxy for event {key}\");\n" - << scope_tab << scope_tab << scope_tab << "}\n" // End of lock block - << scope_tab << scope_tab << "}\n" - << scope_tab << "}\n") - .generate(sink, NULL, context)) - return false; - } + if (!as_generator(*(event_definition(klass, true))).generate(sink, klass.events, context)) + return false; } return true; } diff --git a/src/bin/eolian_mono/eolian/mono/logging.hh b/src/bin/eolian_mono/eolian/mono/logging.hh new file mode 100644 index 0000000000..d13c3957ad --- /dev/null +++ b/src/bin/eolian_mono/eolian/mono/logging.hh @@ -0,0 +1,12 @@ +#ifndef EOLIAN_MONO_LOGGING_HH +#define EOLIAN_MONO_LOGGING_HH + +#include + +namespace eolian_mono { + +efl::eina::log_domain domain("eolian_mono"); + +} + +#endif diff --git a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh index 8774cd855c..a2426569ab 100644 --- a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh +++ b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh @@ -4,7 +4,7 @@ #include "grammar/generator.hpp" #include "grammar/klass_def.hpp" #include "grammar/case.hpp" -#include "namespace.hh" +#include "name_helpers.hh" #include "type_impl.hh" namespace eolian_mono { @@ -76,6 +76,12 @@ struct marshall_annotation_visitor_generate {"any_value_ptr", false, [&] { return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.ValueMarshaler))]"; }}, + {"strbuf", true, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]"; + }}, + {"strbuf", false, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]"; + }}, }; match const return_match_table[] = { @@ -105,6 +111,12 @@ struct marshall_annotation_visitor_generate {"any_value_ptr", false, [&] { return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.ValueMarshaler))]"; }}, + {"strbuf", true, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]"; + }}, + {"strbuf", false, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]"; + }}, }; if(eina::optional b = call_annotation_match @@ -132,15 +144,18 @@ struct marshall_annotation_visitor_generate { const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<"; const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<"; - std::vector namespaces = escape_namespace(klass_name.namespaces); return as_generator ((is_return ? return_prefix : no_return_prefix) - << *(lower_case[string] << ".") << string - << "Concrete, efl.eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]" - ).generate(sink, std::make_tuple(namespaces, klass_name.eolian_name), *context); + << string << ", efl.eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]" + ).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context); } - bool operator()(attributes::complex_type_def const&) const + bool operator()(attributes::complex_type_def const& c) const { + if (c.outer.base_type == "future") + { + std::string prefix = is_return ? "return: " : ""; + return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.FutureMarshaler))]").generate(sink, nullptr, *context); + } return true; } }; @@ -187,6 +202,12 @@ struct marshall_native_annotation_visitor_generate return ""; return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringshareKeepOwnershipMarshaler))]"; }}, + {"strbuf", true, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]"; + }}, + {"strbuf", false, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]"; + }}, }; match const return_match_table[] = { @@ -200,6 +221,12 @@ struct marshall_native_annotation_visitor_generate return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StringsharePassOwnershipMarshaler))]"; }}, {"stringshare", false, [&] { return ""; }}, + {"strbuf", true, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufPassOwnershipMarshaler))]"; + }}, + {"strbuf", false, [&] { + return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(efl.eo.StrbufKeepOwnershipMarshaler))]"; + }}, }; if(eina::optional b = call_annotation_match @@ -227,15 +254,18 @@ struct marshall_native_annotation_visitor_generate { const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<"; const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(efl.eo.MarshalTest<"; - std::vector namespaces = escape_namespace(klass_name.namespaces); return as_generator ((is_return ? return_prefix : no_return_prefix) - << *(lower_case[string] << ".") << string - << "Concrete, efl.eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]" - ).generate(sink, std::make_tuple(namespaces, klass_name.eolian_name), *context); + << string << ", efl.eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]" + ).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context); } - bool operator()(attributes::complex_type_def const&) const + bool operator()(attributes::complex_type_def const& c) const { + if (c.outer.base_type == "future") + { + std::string prefix = is_return ? "return: " : ""; + return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(eina.FutureMarshaler))]").generate(sink, nullptr, *context); + } return true; } }; diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type.hh b/src/bin/eolian_mono/eolian/mono/marshall_type.hh index a946e15ea8..79ce8b6380 100644 --- a/src/bin/eolian_mono/eolian/mono/marshall_type.hh +++ b/src/bin/eolian_mono/eolian/mono/marshall_type.hh @@ -16,6 +16,16 @@ struct marshall_annotation_visitor_generate; template struct marshall_native_annotation_visitor_generate; } + +/* + * Converts a given type/parameter to the type used in the DllImport signatures. + * + * For example, Eina.Value can be marshaled either as an eina.Value instance through + * CustomMarshallers if we have a ptr(Eina.Value) or through the intermediate + * eina.Value_Native blittable struct if it is passed by value. + * + * For details, check marshall_type_impl.h with the actual conversion rules. + */ struct marshall_type_generator { marshall_type_generator(bool is_return = false) @@ -26,6 +36,7 @@ struct marshall_type_generator { return type.original_type.visit(detail::marshall_type_visitor_generate{sink, &context, type.c_type, false, is_return, type.is_ptr }); } + /* Some types may require a different conversion when they are in @out parameters. */ template bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const { @@ -36,6 +47,12 @@ struct marshall_type_generator bool is_return; }; +/* + * Generates the "[MarshalAs(...)]" rules for the given type. + * + * For example, the CustomMarshallers definitions for String and eina.Values and the + * boolean size defintion (Eina_Value is 1 byte, while C# bool has 4 bytes). + */ struct marshall_annotation_generator { marshall_annotation_generator(bool is_return = false) diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh index 89efc7f3e2..95970dedd6 100644 --- a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh +++ b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh @@ -5,9 +5,10 @@ #include "grammar/klass_def.hpp" #include "grammar/case.hpp" #include "helpers.hh" -#include "namespace.hh" +#include "name_helpers.hh" #include "type_impl.hh" #include "generation_contexts.hh" +#include "blacklist.hh" namespace eolian_mono { @@ -89,6 +90,12 @@ struct marshall_type_visitor_generate else return replace_base_type(r, " System.String"); }} + , {"strbuf", nullptr, [&] + { + regular_type_def r = regular; + r.base_qualifier.qualifier ^= qualifier_info::is_ref; + return replace_base_type(r, " eina.Strbuf"); + }} , {"Binbuf", true, [&] { regular_type_def r = regular; @@ -149,10 +156,12 @@ struct marshall_type_visitor_generate }} }; - if (!is_ptr && regular.is_struct() && !is_struct_blacklisted(regular)) + if (regular.is_struct() && !blacklist::is_struct_blacklisted(regular) && !(bool)(regular.base_qualifier & qualifier_info::is_own)) { - return as_generator(*(lower_case[string] << ".") << string << "_StructInternal") - .generate(sink, std::make_tuple(eolian_mono::escape_namespace(regular.namespaces), regular.base_type), *context); + if ((is_out || is_return) && is_ptr) + return as_generator(" System.IntPtr").generate(sink, attributes::unused, *context); + return as_generator(string << "_StructInternal") + .generate(sink, name_helpers::type_full_managed_name(regular), *context); } else if (eina::optional b = call_match (match_table @@ -169,7 +178,7 @@ struct marshall_type_visitor_generate { return *b; } - else if (is_ptr && need_pointer_conversion(®ular)) + else if (is_ptr && helpers::need_pointer_conversion(®ular)) { regular_type_def r = regular; r.base_type = " System.IntPtr"; @@ -228,6 +237,11 @@ struct marshall_type_visitor_generate return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}}; } } + ,{"accessor", nullptr, nullptr, [&] + { + return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}}; + } + } }; auto default_match = [&] (attributes::complex_type_def const& complex) diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh index 6b40829b20..b1a03056ef 100644 --- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh +++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh @@ -7,11 +7,75 @@ #include #include #include +#include "utils.hh" + +#include "grammar/integral.hpp" +#include "grammar/generator.hpp" +#include "grammar/klass_def.hpp" +#include "grammar/list.hpp" +#include "grammar/string.hpp" +#include "grammar/integral.hpp" + +using efl::eolian::grammar::as_generator; +using efl::eolian::grammar::string; +using efl::eolian::grammar::lit; +using efl::eolian::grammar::operator*; namespace eolian_mono { +/* Utility functions for naming things. Compared to the utils.hh, this header has higher level + * functions, dealing with the knowledge of how to convert the items to the C# style we are using, for + * example, while being too short to be implemented as full-fledged generators. + */ namespace name_helpers { +namespace attributes = efl::eolian::grammar::attributes; + +namespace detail { +inline bool is_iequal(std::string const& lhs, std::string const& rhs) +{ + return strcasecmp(lhs.c_str(), rhs.c_str()) == 0; +} +} + +inline std::string identity(std::string const& str) +{ + return str; +} + +inline std::string escape_keyword(std::string const& name) +{ + using detail::is_iequal; + if(is_iequal(name, "delete") + || is_iequal(name, "do") + || is_iequal(name, "lock") + || is_iequal(name, "event") + || is_iequal(name, "in") + || is_iequal(name, "object") + || is_iequal(name, "interface") + || is_iequal(name, "string") + || is_iequal(name, "internal") + || is_iequal(name, "fixed") + || is_iequal(name, "base")) + return "kw_" + name; + + if (is_iequal(name, "Finalize")) + return name + "Add"; // Eo's Finalize is actually the end of efl_add. + return name; +} + +typedef std::function string_transform_func; + +inline std::string join_namespaces(std::vector const& namespaces, char separator, + string_transform_func func=identity) +{ + std::stringstream s; + for (auto&& n : namespaces) + s << func(n) << separator; + + return s.str(); +} + static const std::vector verbs = { "add", @@ -103,35 +167,153 @@ void reorder_verb(std::vector &names) } } -std::vector split(std::string const &input, char delim) +inline std::string managed_namespace(std::string const& ns) { - std::stringstream ss(input); - std::string name; - std::vector names; - - while (std::getline(ss, name, delim)) { - if (!name.empty()) - names.push_back(name); - } - return names; + return utils::to_lowercase(escape_keyword(ns)); } -std::string pascal_case(const std::vector &names) +inline std::string managed_method_name(attributes::function_def const& f) { - std::vector outv(names.size()); - std::stringstream osstream; + std::vector names = utils::split(f.name, '_'); - std::transform(names.begin(), names.end(), outv.begin(), - [](std::string name) { - name[0] = std::toupper(name[0]); - return name; - }); + name_helpers::reorder_verb(names); - std::copy(outv.begin(), outv.end(), std::ostream_iterator(osstream, "")); + std::string candidate = escape_keyword(utils::to_pascal_case(names)); - return osstream.str(); + // Some eolian methods have the same name as their parent class + if (candidate == f.klass.eolian_name) + candidate = "Do" + candidate; + + return candidate; } +inline std::string alias_full_eolian_name(attributes::alias_def const& alias) +{ + return join_namespaces(alias.namespaces, '.') + alias.eolian_name; +} + +inline std::string managed_async_method_name(attributes::function_def const& f) +{ + return managed_method_name(f) + "Async"; +} +inline std::string function_ptr_full_eolian_name(attributes::function_def const& func) +{ + return join_namespaces(func.namespaces, '.') + func.name; +} + +inline std::string type_full_eolian_name(attributes::regular_type_def const& type) +{ + return join_namespaces(type.namespaces, '.') + type.base_type; +} + +inline std::string type_full_managed_name(attributes::regular_type_def const& type) +{ + return join_namespaces(type.namespaces, '.', managed_namespace) + type.base_type; +} + +inline std::string struct_full_eolian_name(attributes::struct_def const& struct_) +{ + return join_namespaces(struct_.namespaces, '.') + struct_.cxx_name; +} + +inline std::string enum_managed_name(attributes::enum_def const& enum_) +{ + return enum_.cxx_name; +} + +inline std::string to_field_name(std::string const& in) +{ + return utils::capitalize(in); +} + +// Class name translation (interface/concrete/inherit/etc) +template +inline std::string klass_interface_name(T const& klass) +{ + return "I" + klass.eolian_name; +} + +template +inline std::string klass_full_interface_name(T const& klass) +{ + return join_namespaces(klass.namespaces, '.', managed_namespace) + klass_interface_name(klass); +} + +template +inline std::string klass_concrete_name(T const& klass) +{ + return klass.eolian_name; +} + +template +inline std::string klass_full_concrete_name(T const& klass) +{ + return join_namespaces(klass.namespaces, '.', managed_namespace) + klass_concrete_name(klass); +} + +template +inline std::string klass_inherit_name(T const& klass) +{ + return klass.eolian_name + "Inherit"; +} + +template +inline std::string klass_native_inherit_name(T const& klass) +{ + return klass.eolian_name + "NativeInherit"; +} + +template +inline std::string klass_get_name(T const& clsname) +{ + return utils::to_lowercase(join_namespaces(clsname.namespaces, '_') + clsname.eolian_name + "_class_get"); +} + +inline std::string klass_get_full_name(attributes::klass_name const& clsname) +{ + return klass_full_concrete_name(clsname) + "." + klass_get_name(clsname); +} + +// Events +inline std::string managed_event_name(std::string const& name) +{ + return utils::to_pascal_case(utils::split(name, ','), "") + "Evt"; +} + +inline std::string managed_event_args_short_name(attributes::event_def const& evt) +{ + return name_helpers::managed_event_name(evt.name) + "_Args"; +} + +inline std::string managed_event_args_name(attributes::event_def evt) +{ + return klass_full_concrete_name(evt.klass) + "." + managed_event_args_short_name(evt); +} + +inline std::string translate_inherited_event_name(const attributes::event_def &evt, const attributes::klass_def &klass) +{ + return join_namespaces(klass.namespaces, '_') + klass.cxx_name + "_" + managed_event_name(evt.name); +} + +// Open/close namespaces +template +bool open_namespaces(OutputIterator sink, std::vector namespaces, Context context) +{ + std::transform(namespaces.begin(), namespaces.end(), namespaces.begin(), managed_namespace); + + auto open_namespace = *("namespace " << string << " { ") << "\n"; + return as_generator(open_namespace).generate(sink, namespaces, context); +} + +template +bool close_namespaces(OutputIterator sink, std::vector const& namespaces, Context context) +{ + auto close_namespace = *(lit("} ")) << "\n"; + return as_generator(close_namespace).generate(sink, namespaces, context); +} + + + } // namespace name_helpers } // namespace eolian_mono diff --git a/src/bin/eolian_mono/eolian/mono/namespace.hh b/src/bin/eolian_mono/eolian/mono/namespace.hh deleted file mode 100644 index b0f1ddb0b3..0000000000 --- a/src/bin/eolian_mono/eolian/mono/namespace.hh +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef EOLIAN_MONO_NAMESPACE_HH -#define EOLIAN_MONO_NAMESPACE_HH - -#include "grammar/generator.hpp" -#include "grammar/klass_def.hpp" -#include "grammar/case.hpp" -#include "grammar/type.hpp" -#include "using_decl.hh" -#include "keyword.hh" - -namespace eolian_mono { - -std::vector escape_namespace(std::vector namespaces) -{ - // if(namespaces.empty()) - // namespaces.push_back("nonamespace"); - // else - { - for(auto&& i : namespaces) - i = escape_keyword(i); - } - return namespaces; -} - -} - -#endif diff --git a/src/bin/eolian_mono/eolian/mono/parameter.hh b/src/bin/eolian_mono/eolian/mono/parameter.hh index 834ca1248d..55ea6f4115 100644 --- a/src/bin/eolian_mono/eolian/mono/parameter.hh +++ b/src/bin/eolian_mono/eolian/mono/parameter.hh @@ -8,8 +8,9 @@ #include "marshall_type.hh" #include "type.hh" #include "using_decl.hh" -#include "keyword.hh" +#include "name_helpers.hh" +using namespace eolian_mono::name_helpers; namespace eolian_mono { struct parameter_generator; @@ -22,6 +23,8 @@ namespace eolian_mono { struct native_convert_out_variable_generator; struct convert_out_variable_generator; struct convert_out_assign_generator; + struct native_convert_in_ptr_assign_generator; + struct convert_in_ptr_assign_generator; struct native_convert_out_assign_parameterized; struct native_convert_out_assign_generator; struct convert_return_generator; @@ -135,6 +138,26 @@ template <> struct attributes_needed< ::eolian_mono::convert_out_assign_generator> : std::integral_constant {}; } +template <> +struct is_eager_generator< ::eolian_mono::native_convert_in_ptr_assign_generator> : std::true_type {}; +template <> +struct is_generator< ::eolian_mono::native_convert_in_ptr_assign_generator> : std::true_type {}; + +namespace type_traits { +template <> +struct attributes_needed< ::eolian_mono::native_convert_in_ptr_assign_generator> : std::integral_constant {}; +} + +template <> +struct is_eager_generator< ::eolian_mono::convert_in_ptr_assign_generator> : std::true_type {}; +template <> +struct is_generator< ::eolian_mono::convert_in_ptr_assign_generator> : std::true_type {}; + +namespace type_traits { +template <> +struct attributes_needed< ::eolian_mono::convert_in_ptr_assign_generator> : std::integral_constant {}; +} + template <> struct is_eager_generator< ::eolian_mono::convert_return_variable_generator> : std::true_type {}; template <> @@ -252,6 +275,10 @@ inline bool param_should_use_out_var(attributes::parameter_def const& param, boo || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Hash *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Hash *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Hash *", !WANT_OWN, WANT_OUT) @@ -266,10 +293,10 @@ inline bool param_should_use_out_var(attributes::parameter_def const& param, boo return true; auto regular = efl::eina::get(¶m.type.original_type); - if (need_struct_conversion(regular)) + if (helpers::need_struct_conversion(regular)) return true; - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular)) return true; return false; @@ -298,6 +325,10 @@ inline bool param_should_use_in_var(attributes::parameter_def const& param, bool || param_is_acceptable(param, "const Eina_List *", WANT_OWN, !WANT_OUT) || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, !WANT_OUT) || param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, !WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, !WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, !WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, !WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, !WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, !WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, !WANT_OUT) || param_is_acceptable(param, "Eina_Hash *", !WANT_OWN, !WANT_OUT) @@ -314,10 +345,10 @@ inline bool param_should_use_in_var(attributes::parameter_def const& param, bool return true; auto regular = efl::eina::get(¶m.type.original_type); - if (need_struct_conversion(regular)) + if (helpers::need_struct_conversion(regular)) return true; - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular)) return true; return false; @@ -341,16 +372,31 @@ inline std::string direction_modifier(attributes::parameter_def const& param) } else if (param.direction != attributes::parameter_direction::in) { - auto regular = efl::eina::get(¶m.type.original_type); - if (param.type.c_type == "Eina_Slice" || param.type.c_type == "Eina_Rw_Slice" - || need_struct_conversion(regular)) + if (param.type.c_type == "Eina_Slice" || param.type.c_type == "Eina_Rw_Slice") return " ref "; else return " out "; } + else if (param.direction == attributes::parameter_direction::in && param.type.is_ptr) + { + auto regular = efl::eina::get(¶m.type.original_type); + if (helpers::need_struct_conversion(regular)) + return " ref "; // Don't add ref on Marshal if it is ptr + } return " "; } +std::string marshall_direction_modifier(attributes::parameter_def const& param) +{ + if (param.direction == attributes::parameter_direction::in && param.type.is_ptr) + { + auto regular = efl::eina::get(¶m.type.original_type); + if (helpers::need_struct_conversion(regular) && param.type.has_own) + return " "; // Don't add ref on Marshal if it is ptr + } + return direction_modifier(param); +} + struct is_fp_visitor { typedef is_fp_visitor visitor_type; @@ -375,11 +421,7 @@ struct type_name_visitor std::string operator()(grammar::attributes::regular_type_def const &type) const { - std::stringstream type_name; - for (auto&& i : escape_namespace(type.namespaces)) - type_name << i << "."; - type_name << type.base_type; - return type_name.str(); + return name_helpers::type_full_eolian_name(type); } template @@ -412,7 +454,7 @@ struct marshall_parameter_generator if (!param.type.original_type.visit(is_fp_visitor{})) return as_generator( - direction_modifier(param) << marshall_type << " " << string + marshall_direction_modifier(param) << marshall_type << " " << string ).generate(sink, std::make_tuple(param, param_name), context); return as_generator( @@ -421,14 +463,15 @@ struct marshall_parameter_generator ).generate(sink, param, context); } } const marshall_parameter {}; - + +// FIXME This seems to be used only in the else branch of the native function definition. Is it really needed? struct argument_generator { template bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const { std::string param_name = escape_keyword(param.param_name); - std::string direction = direction_modifier(param); + std::string direction = marshall_direction_modifier(param); if (!param.type.original_type.visit(is_fp_visitor{})) return as_generator( @@ -475,7 +518,7 @@ struct argument_invocation_generator template bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const { - std::string arg = direction_modifier(param); + std::string arg = marshall_direction_modifier(param); if (use_conversion_vars && param_should_use_out_var(param, false)) arg += out_variable_name(param.param_name); @@ -507,16 +550,16 @@ struct native_convert_in_variable_generator return true; auto regular = efl::eina::get(¶m.type.original_type); - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(param, regular)) { return as_generator( "var " << string << " = eina.PrimitiveConversion.PointerToManaged<" << type << ">(" << escape_keyword(param.param_name) << ");\n" ).generate(sink, std::make_tuple(in_variable_name(param.param_name), param.type), context); } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { return as_generator( - "var " << string << " = " << type << "_StructConvertion.ToExternal(" << escape_keyword(param.param_name) << ");\n" + "var " << string << " = " << type << "_StructConversion.ToExternal(" << escape_keyword(param.param_name) << ");\n" ).generate(sink, std::make_tuple(in_variable_name(param.param_name), param.type), context); } else if (param.type.c_type == "Eina_Binbuf *" || param.type.c_type == "const Eina_Binbuf *") @@ -543,6 +586,7 @@ struct native_convert_in_variable_generator || param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *" || param.type.c_type == "Eina_Inlist *" || param.type.c_type == "const Eina_Inlist *" || param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *" + || param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *" ) { attributes::complex_type_def const* complex = efl::eina::get(¶m.type.original_type); @@ -575,16 +619,16 @@ struct convert_in_variable_generator return true; auto regular = efl::eina::get(¶m.type.original_type); - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(param, regular)) { return as_generator( "var " << string << " = eina.PrimitiveConversion.ManagedToPointerAlloc(" << escape_keyword(param.param_name) << ");\n" ).generate(sink, in_variable_name(param.param_name), context); } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { return as_generator( - "var " << string << " = " << type << "_StructConvertion.ToInternal(" << escape_keyword(param.param_name) << ");\n" + "var " << string << " = " << type << "_StructConversion.ToInternal(" << escape_keyword(param.param_name) << ");\n" ).generate(sink, std::make_tuple(in_variable_name(param.param_name), param.type), context); } else if (param.type.c_type == "Eina_Binbuf *" || param.type.c_type == "const Eina_Binbuf *") @@ -630,6 +674,7 @@ struct convert_in_variable_generator || param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *" || param.type.c_type == "Eina_Inlist *" || param.type.c_type == "const Eina_Inlist *" || param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *" + || param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *" ) { attributes::complex_type_def const* complex = efl::eina::get(¶m.type.original_type); @@ -659,7 +704,8 @@ struct convert_in_variable_generator } } const convert_in_variable {}; - + +/* Some types require an intermediate variable to be filled as out parameter in the marshalled function */ struct convert_out_variable_generator { template @@ -669,17 +715,17 @@ struct convert_out_variable_generator return true; auto regular = efl::eina::get(¶m.type.original_type); - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(regular)) { return as_generator( "System.IntPtr " << string << " = System.IntPtr.Zero;\n" ).generate(sink, out_variable_name(param.param_name), context); } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { return as_generator( "var " << string << " = new " << marshall_type << "();\n" - ).generate(sink, std::make_tuple(out_variable_name(param.param_name), param.type), context); + ).generate(sink, std::make_tuple(out_variable_name(param.param_name), param), context); } else if (param_is_acceptable(param, "Eina_Binbuf *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Binbuf *", !WANT_OWN, WANT_OUT) @@ -707,6 +753,10 @@ struct convert_out_variable_generator || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Hash *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Hash *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Hash *", WANT_OWN, WANT_OUT) @@ -742,13 +792,13 @@ struct native_convert_out_variable_generator return true; auto regular = efl::eina::get(¶m.type.original_type); - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(regular)) { return as_generator( type << " " << string << " = default(" << type << ");\n" ).generate(sink, std::make_tuple(param, out_variable_name(param.param_name), param), context); } - else if (need_struct_conversion(regular) + else if (helpers::need_struct_conversion(regular) || param_is_acceptable(param, "const char *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Stringshare *", !WANT_OWN, WANT_OUT)) { @@ -782,6 +832,10 @@ struct native_convert_out_variable_generator || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Hash *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Hash *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Hash *", WANT_OWN, WANT_OUT) @@ -819,6 +873,7 @@ struct native_convert_out_variable_generator } const native_convert_out_variable {}; +/* Assign the Managed out variables from the marshalled intermediate ones if needed. */ struct convert_out_assign_generator { template @@ -828,16 +883,22 @@ struct convert_out_assign_generator return true; auto regular = efl::eina::get(¶m.type.original_type); - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(param.type, param.direction)) { - return as_generator( + bool ret = as_generator( string << " = eina.PrimitiveConversion.PointerToManaged<" << type << ">(" << out_variable_name(param.param_name) << ");\n" ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param.type), context); + + if (param.type.has_own) + ret = ret && as_generator(scope_tab << scope_tab << "Marshal.FreeHGlobal(" << out_variable_name(param.param_name) << ");\n" + ).generate(sink, attributes::unused, context); + + return ret; } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { return as_generator( - string << " = " << type << "_StructConvertion.ToExternal(" << out_variable_name(param.param_name) << ");\n" + string << " = " << type << "_StructConversion.ToExternal(" << out_variable_name(param.param_name) << ");\n" ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param.type), context); } else if (param_is_acceptable(param, "Eina_Binbuf *", WANT_OWN, WANT_OUT) @@ -883,6 +944,10 @@ struct convert_out_assign_generator || param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Iterator *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Iterator *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Iterator *", WANT_OWN, WANT_OUT) @@ -911,6 +976,40 @@ struct convert_out_assign_generator } const convert_out_assign {}; +struct native_convert_in_ptr_assign_generator +{ + template + bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const + { + auto regular = efl::eina::get(¶m.type.original_type); + if (param_should_use_in_var(param, true) && param.type.is_ptr && !param.type.has_own && helpers::need_struct_conversion(regular)) + { + return as_generator( + string << " = " << type << "_StructConversion.ToInternal(" << in_variable_name(param.param_name) << ");\n" + ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param.type), context); + } + + return true; + } +} const native_convert_in_ptr_assign {}; + +struct convert_in_ptr_assign_generator +{ + template + bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const + { + auto regular = efl::eina::get(¶m.type.original_type); + if (param_should_use_in_var(param, true) && param.type.is_ptr && !param.type.has_own && helpers::need_struct_conversion(regular)) + { + return as_generator( + string << " = " << type << "_StructConversion.ToExternal(" << in_variable_name(param.param_name) << ");\n" + ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param.type), context); + } + + return true; + } +} const convert_in_ptr_assign {}; + struct convert_return_variable_generator { template @@ -923,23 +1022,25 @@ struct convert_return_variable_generator } const convert_return_variable {}; - +/* Converts the intermediate return variable to the proper API type */ struct convert_return_generator { template bool generate(OutputIterator sink, attributes::type_def const& ret_type, Context const& context) const { auto regular = efl::eina::get(&ret_type.original_type); - if (ret_type.is_ptr && need_pointer_conversion(regular)) + if (ret_type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(ret_type, attributes::parameter_direction::unknown)) { return as_generator( - "return eina.PrimitiveConversion.PointerToManaged<" << type << ">(_ret_var);\n" + "var __ret_tmp = eina.PrimitiveConversion.PointerToManaged<" << type << ">(_ret_var);\n" + << scope_tab << scope_tab << (ret_type.has_own ? ("Marshal.FreeHGlobal(_ret_var);\n"): "\n") + << scope_tab << scope_tab << "return __ret_tmp;\n" ).generate(sink, ret_type, context); } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { return as_generator( - "return " << type << "_StructConvertion.ToExternal(_ret_var);\n" + "return " << type << "_StructConversion.ToExternal(_ret_var);\n" ).generate(sink, ret_type, context); } else if (ret_type.c_type == "Eina_Binbuf *" || ret_type.c_type == "const Eina_Binbuf *") @@ -966,6 +1067,7 @@ struct convert_return_generator || ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *" || ret_type.c_type == "Eina_Inlist *" || ret_type.c_type == "const Eina_Inlist *" || ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *" + || ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *" ) { attributes::complex_type_def const* complex = efl::eina::get(&ret_type.original_type); @@ -994,33 +1096,44 @@ struct native_convert_out_assign_generator template bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const { + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "native_convert_out_assign_generator: " << param.param_name << std::endl; if (param.direction == attributes::parameter_direction::in) return true; auto regular = efl::eina::get(¶m.type.original_type); - if (param.type.is_ptr && need_pointer_conversion(regular)) + if (param.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(param.type, param.direction)) { return as_generator( string << " = eina.PrimitiveConversion.ManagedToPointerAlloc(" << string << ");\n" ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context); } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { return as_generator( - string << " = " << type << "_StructConvertion.ToInternal(" << string << ");\n" + string << " = " << type << "_StructConversion.ToInternal(" << string << ");\n" ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param.type, out_variable_name(param.param_name)), context); } else if (param_is_acceptable(param, "Eina_Stringshare *", !WANT_OWN, WANT_OUT)) { + if (klass == nullptr) + { + EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) << "Null class found when trying to assign out stringshare from native wrapper." << std::endl; + return false; + } return as_generator( - string << "= efl.eo.Globals.cached_stringshare_to_intptr(((" << string << "Inherit)wrapper).cached_stringshares, " << string << ");\n" - ).generate(sink, std::make_tuple(escape_keyword(param.param_name), klass->cxx_name, out_variable_name(param.param_name)), context); + string << "= efl.eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, " << string << ");\n" + ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context); } else if (param_is_acceptable(param, "const char *", !WANT_OWN, WANT_OUT)) { + if (klass == nullptr) + { + EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) << "Null class found when trying to assign out string from native wrapper." << std::endl; + return false; + } return as_generator( - string << "= efl.eo.Globals.cached_string_to_intptr(((" << string << "Inherit)wrapper).cached_strings, " << string << ");\n" - ).generate(sink, std::make_tuple(escape_keyword(param.param_name), klass->cxx_name, out_variable_name(param.param_name)), context); + string << "= efl.eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, " << string << ");\n" + ).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context); } else if (param_is_acceptable(param, "Eina_Binbuf *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "Eina_Binbuf *", !WANT_OWN, WANT_OUT) @@ -1085,6 +1198,10 @@ struct native_convert_out_assign_generator || param_is_acceptable(param, "Eina_Iterator *", !WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Iterator *", WANT_OWN, WANT_OUT) || param_is_acceptable(param, "const Eina_Iterator *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT) + || param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT) ) { attributes::complex_type_def const* complex = efl::eina::get(¶m.type.original_type); @@ -1131,25 +1248,30 @@ struct native_convert_return_generator bool generate(OutputIterator sink, attributes::type_def const& ret_type, Context const& context) const { auto regular = efl::eina::get(&ret_type.original_type); - if (ret_type.is_ptr && need_pointer_conversion(regular)) + if (ret_type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(ret_type, attributes::parameter_direction::unknown) ) { return as_generator( "return eina.PrimitiveConversion.ManagedToPointerAlloc(_ret_var);\n" ).generate(sink, attributes::unused, context); } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { return as_generator( - "return " << type << "_StructConvertion.ToInternal(_ret_var);\n" + "return " << type << "_StructConversion.ToInternal(_ret_var);\n" ).generate(sink, ret_type, context); } else if (ret_type.c_type == "const char *") { if(!ret_type.has_own) { + if (klass == nullptr) + { + EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) << "Null class found when trying to return string from native wrapper." << std::endl; + return false; + } return as_generator( - "return efl.eo.Globals.cached_string_to_intptr(((" << string << "Inherit)wrapper).cached_strings, _ret_var);\n" - ).generate(sink, klass->cxx_name, context); + "return efl.eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, _ret_var);\n" + ).generate(sink, attributes::unused, context); } else { @@ -1160,9 +1282,14 @@ struct native_convert_return_generator else if (ret_type.c_type == "Eina_Stringshare *") { // Correct check for string? if (!ret_type.has_own) { + if (klass == nullptr) + { + EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) << "Null class found when trying to return stringshare from native wrapper." << std::endl; + return false; + } return as_generator( - "return efl.eo.Globals.cached_stringshare_to_intptr(((" << string << "Inherit)wrapper).cached_stringshares, _ret_var);\n" - ).generate(sink, klass->cxx_name, context); + "return efl.eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, _ret_var);\n" + ).generate(sink, attributes::unused, context); } else { @@ -1202,6 +1329,7 @@ struct native_convert_return_generator || ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *" || ret_type.c_type == "Eina_Inlist *" || ret_type.c_type == "const Eina_Inlist *" || ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *" + || ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *" ) { attributes::complex_type_def const* complex = efl::eina::get(&ret_type.original_type); @@ -1277,7 +1405,7 @@ struct native_convert_function_pointer_generator // Getting the type through C api std::string type_name = param.type.original_type.visit(type_name_visitor{}); - const Eolian_Typedecl *tpd = ::eolian_typedecl_alias_get_by_name(param.unit, type_name.c_str()); + const Eolian_Typedecl *tpd = ::eolian_unit_alias_by_name_get(param.unit, type_name.c_str()); if (!tpd) { EINA_LOG_ERR("Failed to get typedecl for c type [%s]", param.type.c_type.c_str()); @@ -1292,7 +1420,7 @@ struct native_convert_function_pointer_generator EINA_LOG_ERR("Failed to get function pointer info for c type [%s]", param.type.c_type.c_str()); return false; } - attributes::function_def f(fd, EOLIAN_FUNCTION_POINTER, param.unit); + attributes::function_def f(fd, EOLIAN_FUNCTION_POINTER, tpd, param.unit); std::string param_name = escape_keyword(param.param_name); // Allocate GCHandle in "param_name"_handle for param; diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh new file mode 100644 index 0000000000..94fc3cb63c --- /dev/null +++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh @@ -0,0 +1,54 @@ +#ifndef EOLIAN_MONO_PART_DEFINITION_HH +#define EOLIAN_MONO_PART_DEFINITION_HH + +#include + +#include "grammar/generator.hpp" +#include "grammar/klass_def.hpp" +#include "grammar/indentation.hpp" + +#include "utils.hh" +#include "name_helpers.hh" +#include "documentation.hh" + +namespace eolian_mono { + +struct part_definition_generator +{ + template + bool generate(OutputIterator sink, attributes::part_def const& part, Context const& context) const + { + auto part_interface_name = name_helpers::klass_full_interface_name(part.klass); + auto part_klass_name = name_helpers::klass_full_concrete_name(part.klass); + return as_generator(scope_tab << documentation + << scope_tab << "public " << part_interface_name << " " << utils::capitalize(part.name) << "\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "get\n" + << scope_tab << scope_tab << "{\n" + << scope_tab << scope_tab << scope_tab << "efl.IObject obj = efl_part_get(raw_handle, \"" << part.name << "\");\n" + << scope_tab << scope_tab << scope_tab << "return " << part_klass_name << ".static_cast(obj);\n" + << scope_tab << scope_tab << "}\n" + << scope_tab << "}\n" + ).generate(sink, part.documentation, context); + } + +} const part_definition {}; + +} + +namespace efl { namespace eolian { namespace grammar { + +template <> +struct is_eager_generator< ::eolian_mono::part_definition_generator> : std::true_type {}; +template <> +struct is_generator< ::eolian_mono::part_definition_generator> : std::true_type {}; + +namespace type_traits { +template <> +struct attributes_needed< ::eolian_mono::part_definition_generator> : std::integral_constant {}; + +} +} } } + +#endif + diff --git a/src/bin/eolian_mono/eolian/mono/struct_definition.hh b/src/bin/eolian_mono/eolian/mono/struct_definition.hh index 5db84e0a9b..42d2f0d711 100644 --- a/src/bin/eolian_mono/eolian/mono/struct_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/struct_definition.hh @@ -6,11 +6,13 @@ #include "grammar/indentation.hpp" #include "grammar/list.hpp" #include "grammar/alternative.hpp" +#include "name_helpers.hh" #include "helpers.hh" #include "type.hh" -#include "keyword.hh" #include "using_decl.hh" #include "documentation.hh" +#include "struct_fields.hh" +#include "blacklist.hh" namespace eolian_mono { @@ -24,19 +26,12 @@ inline std::string binding_struct_internal_name(attributes::struct_def const& st return struct_.cxx_name + "_StructInternal"; } -inline std::string to_field_name(std::string const& in) -{ - std::string field_name = in; - field_name[0] = std::toupper(field_name[0]); // Hack to allow 'static' as a field name - return field_name; -} - struct struct_definition_generator { template bool generate(OutputIterator sink, attributes::struct_def const& struct_, Context const& context) const { - + EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "struct_definition_generator: " << struct_.cxx_name << std::endl; if(!as_generator(documentation).generate(sink, struct_, context)) return false; if(!as_generator @@ -57,7 +52,7 @@ struct struct_definition_generator documentation(1) << scope_tab(1) << "public " << type << " " << string << ";\n" ) - .generate(sink, std::make_tuple(field, field.type, to_field_name(field.name)), context)) + .generate(sink, std::make_tuple(field, field.type, name_helpers::to_field_name(field.name)), context)) return false; } @@ -67,9 +62,24 @@ struct struct_definition_generator // those 'mini-amd64.c condition fields not met' crashes. if (struct_.fields.size() == 0) { - if (!as_generator("public IntPtr field;\n").generate(sink, nullptr, context)) + if (!as_generator("///Placeholder field\npublic IntPtr field;\n").generate(sink, nullptr, context)) return false; } + else + { + // Constructor with default parameters for easy struct initialization + auto struct_name = binding_struct_name(struct_); + if(!as_generator( + scope_tab << "///Constructor for " << string << ".\n" + << scope_tab << "public " << string << "(\n" + << ((scope_tab << scope_tab << field_argument_default) % ",\n") + << scope_tab << ")\n" + << scope_tab << "{\n" + << *(scope_tab << scope_tab << field_argument_assignment << ";\n") + << scope_tab << "}\n") + .generate(sink, std::make_tuple(struct_name, struct_name, struct_.fields, struct_.fields), context)) + return false; + } if(!as_generator("}\n").generate(sink, attributes::unused, context)) return false; @@ -85,16 +95,17 @@ struct struct_internal_definition_generator { if (!as_generator ( + "///Internal wrapper for struct " << string << ".\n" "[StructLayout(LayoutKind.Sequential)]\n" - "internal struct " << string << "\n{\n" + "public struct " << string << "\n{\n" ) - .generate(sink, binding_struct_internal_name(struct_), context)) + .generate(sink, std::make_tuple<>(binding_struct_name(struct_), binding_struct_internal_name(struct_)), context)) return false; // iterate struct fields for (auto const& field : struct_.fields) { - auto field_name = to_field_name(field.name); + auto field_name = name_helpers::to_field_name(field.name); auto klass = efl::eina::get(&field.type.original_type); auto regular = efl::eina::get(&field.type.original_type); @@ -123,6 +134,24 @@ struct struct_internal_definition_generator return false; } + auto external_name = binding_struct_name(struct_); + auto internal_name = binding_struct_internal_name(struct_); + + if(!as_generator( + scope_tab << "///Implicit conversion to the internal/marshalling representation.\n" + << scope_tab << "public static implicit operator " << string << "(" << string << " struct_)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "return " << string << "_StructConversion.ToExternal(struct_);\n" + << scope_tab << "}\n" + << scope_tab << "///Implicit conversion to the managed representation.\n" + << scope_tab << "public static implicit operator " << string << "(" << string << " struct_)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "return " << string << "_StructConversion.ToInternal(struct_);\n" + << scope_tab << "}\n" + ).generate(sink, std::make_tuple(external_name, internal_name, external_name, + internal_name, external_name, external_name), context)) + return false; + if(!as_generator("}\n").generate(sink, attributes::unused, context)) return false; return true; @@ -137,7 +166,7 @@ struct to_internal_field_convert_generator template bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const { - auto field_name = to_field_name(field.name); + auto field_name = name_helpers::to_field_name(field.name); auto regular = efl::eina::get(&field.type.original_type); auto klass = efl::eina::get(&field.type.original_type); auto complex = efl::eina::get(&field.type.original_type); @@ -163,17 +192,17 @@ struct to_internal_field_convert_generator .generate(sink, std::make_tuple(field_name, field_name), context)) return false; } - else if (field.type.is_ptr && need_pointer_conversion(regular)) + else if (field.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(regular)) { if (!as_generator( scope_tab << scope_tab << "_internal_struct." << string << " = eina.PrimitiveConversion.ManagedToPointerAlloc(_external_struct." << string << ");\n") .generate(sink, std::make_tuple(field_name, field_name), context)) return false; } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { if (!as_generator( - scope_tab << scope_tab << "_internal_struct." << string << " = " << type << "_StructConvertion.ToInternal(_external_struct." << string << ");\n") + scope_tab << scope_tab << "_internal_struct." << string << " = " << type << "_StructConversion.ToInternal(_external_struct." << string << ");\n") .generate(sink, std::make_tuple(field_name, field.type, field_name), context)) return false; } @@ -211,7 +240,7 @@ struct to_internal_field_convert_generator else if (field.type.c_type == "Eina_Value *" || field.type.c_type == "const Eina_Value *") { if (!as_generator( - scope_tab << scope_tab << "_internal_struct." << string << " = _external_struct." << string << ".Handle;\n" + scope_tab << scope_tab << "_internal_struct." << string << " = _external_struct." << string << ".NativeHandle;\n" ).generate(sink, std::make_tuple(field_name, field_name), context)) return false; } @@ -231,20 +260,22 @@ struct to_external_field_convert_generator template bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const { - auto field_name = to_field_name(field.name); + auto field_name = name_helpers::to_field_name(field.name); auto regular = efl::eina::get(&field.type.original_type); auto klass = efl::eina::get(&field.type.original_type); auto complex = efl::eina::get(&field.type.original_type); if (klass) { + auto interface_name = name_helpers::klass_full_interface_name(*klass); + auto concrete_name = name_helpers::klass_full_concrete_name(*klass); if (!as_generator( "\n" << scope_tab << scope_tab << "_external_struct." << string - << " = (" << type << ") System.Activator.CreateInstance(typeof(" - << type << "Concrete), new System.Object[] {_internal_struct." << string << "});\n" + << " = (" << interface_name << ") System.Activator.CreateInstance(typeof(" + << concrete_name << "), new System.Object[] {_internal_struct." << string << "});\n" << scope_tab << scope_tab << "efl.eo.Globals.efl_ref(_internal_struct." << string << ");\n\n") - .generate(sink, std::make_tuple(field_name, field.type, field.type, field_name, field_name), context)) + .generate(sink, std::make_tuple(field_name, field_name, field_name), context)) return false; } else if (field.type.c_type == "Eina_Binbuf *" || field.type.c_type == "const Eina_Binbuf *") @@ -273,17 +304,17 @@ struct to_external_field_convert_generator .generate(sink, std::make_tuple(field_name, field.type, field_name), context)) return false; } - else if (field.type.is_ptr && need_pointer_conversion(regular)) + else if (field.type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion(regular)) { if (!as_generator( scope_tab << scope_tab << "_external_struct." << string << " = eina.PrimitiveConversion.PointerToManaged<" << type << ">(_internal_struct." << string << ");\n") .generate(sink, std::make_tuple(field_name, field.type, field_name), context)) return false; } - else if (need_struct_conversion(regular)) + else if (helpers::need_struct_conversion(regular)) { if (!as_generator( - scope_tab << scope_tab << "_external_struct." << string << " = " << type << "_StructConvertion.ToExternal(_internal_struct." << string << ");\n") + scope_tab << scope_tab << "_external_struct." << string << " = " << type << "_StructConversion.ToExternal(_internal_struct." << string << ");\n") .generate(sink, std::make_tuple(field_name, field.type, field_name), context)) return false; } @@ -314,7 +345,7 @@ struct to_external_field_convert_generator else if (field.type.c_type == "Eina_Value *" || field.type.c_type == "const Eina_Value *") { if (!as_generator( - scope_tab << scope_tab << "_external_struct." << string << " = new eina.Value(_internal_struct." << string << ", eina.ValueOwnership.Unmanaged);\n" + scope_tab << scope_tab << "_external_struct." << string << " = new eina.Value(_internal_struct." << string << ", eina.Ownership.Unmanaged);\n" ).generate(sink, std::make_tuple(field_name, field_name), context)) return false; } @@ -337,7 +368,7 @@ struct struct_binding_conversion_functions_generator // Open conversion class if (!as_generator ( - "internal static class " << string << "_StructConvertion\n{\n" + "public static class " << string << "_StructConversion\n{\n" ) .generate(sink, struct_.cxx_name, context)) return false; @@ -411,13 +442,11 @@ struct struct_entities_generator template bool generate(OutputIterator sink, attributes::struct_def const& struct_, Context const& context) const { - if (is_struct_blacklisted(struct_)) + if (blacklist::is_struct_blacklisted(struct_)) return true; - std::vector cpp_namespaces = escape_namespace(attributes::cpp_namespaces(struct_.namespaces)); - auto open_namespace = *("namespace " << string << " { ") << "\n"; - if (!as_generator(open_namespace).generate(sink, cpp_namespaces, add_lower_case_context(context))) + if (!name_helpers::open_namespaces(sink, struct_.namespaces, context)) return false; if (!struct_definition.generate(sink, struct_, context)) @@ -429,10 +458,8 @@ struct struct_entities_generator if (!struct_binding_conversion_functions.generate(sink, struct_, context)) return false; - auto close_namespace = *(lit("} ")) << "\n"; - if(!as_generator(close_namespace).generate(sink, cpp_namespaces, context)) return false; + return name_helpers::close_namespaces(sink, struct_.namespaces, context); - return true; } } const struct_entities {}; diff --git a/src/bin/eolian_mono/eolian/mono/struct_fields.hh b/src/bin/eolian_mono/eolian/mono/struct_fields.hh new file mode 100644 index 0000000000..42a20e1aba --- /dev/null +++ b/src/bin/eolian_mono/eolian/mono/struct_fields.hh @@ -0,0 +1,67 @@ +#ifndef EOLIAN_MONO_STRUCT_FIELDS_HH +#define EOLIAN_MONO_STRUCT_FIELDS_HH + +#include "grammar/generator.hpp" +#include "grammar/klass_def.hpp" +#include "grammar/indentation.hpp" +#include "grammar/list.hpp" +#include "grammar/alternative.hpp" +#include "name_helpers.hh" +#include "type.hh" +#include "using_decl.hh" +#include "documentation.hh" + +namespace eolian_mono { + +struct field_argument_default_generator +{ + template + bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const + { + if (!as_generator(type << " " << string << "=default(" << type << ")") + .generate(sink, std::make_tuple(field.type, name_helpers::to_field_name(field.name), field.type), context)) + return false; + return true; + } +} const field_argument_default {}; + +struct field_argument_assignment_generator +{ + template + bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const + { + if (!as_generator("this." << string << " = " << string) + .generate(sink, std::make_tuple(name_helpers::to_field_name(field.name), name_helpers::to_field_name(field.name)), context)) + return false; + return true; + } +} const field_argument_assignment {}; + +} + +namespace efl { namespace eolian { namespace grammar { + +template<> +struct is_eager_generator< ::eolian_mono::field_argument_default_generator> : std::true_type {}; +template<> +struct is_generator< ::eolian_mono::field_argument_default_generator> : std::true_type {}; + +template<> +struct is_eager_generator< ::eolian_mono::field_argument_assignment_generator> : std::true_type {}; +template<> +struct is_generator< ::eolian_mono::field_argument_assignment_generator> : std::true_type {}; + +namespace type_traits { + +template <> +struct attributes_needed< ::eolian_mono::field_argument_default_generator> : std::integral_constant {}; + +template <> +struct attributes_needed< ::eolian_mono::field_argument_assignment_generator> : std::integral_constant {}; + +} + +} } } + +#endif + diff --git a/src/bin/eolian_mono/eolian/mono/type_impl.hh b/src/bin/eolian_mono/eolian/mono/type_impl.hh index 9b56805b99..09c4bc198d 100644 --- a/src/bin/eolian_mono/eolian/mono/type_impl.hh +++ b/src/bin/eolian_mono/eolian/mono/type_impl.hh @@ -4,7 +4,7 @@ #include "grammar/generator.hpp" #include "grammar/klass_def.hpp" #include "grammar/case.hpp" -#include "namespace.hh" +#include "name_helpers.hh" namespace eolian_mono { @@ -115,7 +115,7 @@ struct visitor_generate r.base_type = " void"; return r; }} - , {"Error", nullptr, [&] // Eina.Error + , {"Eina.Error", nullptr, [&] // Eina.Error { return regular_type_def{" eina.Error", regular.base_qualifier, {}}; }} // TODO @@ -137,6 +137,10 @@ struct visitor_generate r.base_qualifier.qualifier ^= qualifier_info::is_ref; return replace_base_type(r, " System.String"); }} + , {"strbuf", nullptr, [&] + { + return regular_type_def{" eina.Strbuf", regular.base_qualifier, {}}; + }} , {"any_value", true, [&] { return regular_type_def{" eina.Value", regular.base_qualifier, {}}; }} @@ -147,24 +151,12 @@ struct visitor_generate { return regular_type_def{" eina.Value", regular.base_qualifier, {}}; }} // FIXME add proper support for any_value_ptr }; - // if(regular.base_type == "void_ptr") - // { - // if(regular.base_qualifier & qualifier_info::is_ref) - // throw std::runtime_error("ref of void_ptr is invalid"); - // return as_generator - // ( - // lit("void") << (regular.base_qualifier & qualifier_info::is_const ? " const" : "") - // << "*" - // << (is_out ? "&" : "") - // ) - // .generate(sink, attributes::unused, *context); - // } - // else + std::string full_type_name = name_helpers::type_full_eolian_name(regular); if(eina::optional b = call_match (match_table , [&] (match const& m) { - return (!m.name || *m.name == regular.base_type) + return (!m.name || *m.name == regular.base_type || *m.name == full_type_name) && (!m.has_own || *m.has_own == (bool)(regular.base_qualifier & qualifier_info::is_own)) ; } @@ -229,7 +221,7 @@ struct visitor_generate // else // return false; // } - // else if(Eolian_Typedecl const* typedecl = eolian_typedecl_struct_get_by_name(c_type.c_str())) + // else if(Eolian_Typedecl const* typedecl = eolian_state_struct_by_name_get(c_type.c_str())) // { // return as_generator // ( @@ -240,40 +232,12 @@ struct visitor_generate // } else { - // as_generator(" Generating: " << *(lower_case[string] << ".") << string << "\n") - // .generate(std::ostream_iterator(std::cerr), std::make_tuple(eolian_mono::escape_namespace(regular.namespaces), regular.base_type), *context); - if(as_generator - ( - *(lower_case[string] << ".") - << string - // << (regular.base_qualifier & qualifier_info::is_const - // || (regular.base_qualifier & qualifier_info::is_ref - // && !is_return && !is_out) - // ? /*" const"*/ "" : "") - /*<< (regular.base_qualifier & qualifier_info::is_ref? "&" : "")*/ - ) - .generate(sink, std::make_tuple(eolian_mono::escape_namespace(regular.namespaces), regular.base_type), *context)) - return true; - else - return false; + return as_generator(string).generate(sink, name_helpers::type_full_managed_name(regular), *context); } } bool operator()(attributes::klass_name klass) const { - // as_generator(" Generating: " << *(lower_case[string] << ".") << string << "\n") - // .generate(std::ostream_iterator(std::cerr), std::make_tuple(attributes::cpp_namespaces(klass.namespaces), klass.eolian_name), *context); - // if(klass.namespaces.size() == 1 - // && klass.namespaces[0] == "Eina" - // && klass.eolian_name == "Error") - // return - // as_generator(" System.IntPtr") - // .generate(sink, attributes::unused, *context); - return - as_generator(*(lower_case[string] << ".") << string) - .generate(sink, std::make_tuple(eolian_mono::escape_namespace(klass.namespaces), klass.eolian_name), *context) - // && (!(klass.base_qualifier & qualifier_info::is_ref) - // || as_generator("&").generate(sink, attributes::unused, *context)) - ; + return as_generator(string).generate(sink, name_helpers::klass_full_interface_name(klass), *context); } bool operator()(attributes::complex_type_def const& complex) const { @@ -318,19 +282,11 @@ struct visitor_generate complex_type_def c = complex; c.outer.base_type = "eina.Hash"; return c; - }} - , {"promise", nullptr, nullptr, [&] - { - return replace_outer - (complex, regular_type_def{" ::efl::promise", complex.outer.base_qualifier, {}}); - } - } + }} , {"future", nullptr, nullptr, [&] { - (*this)(regular_type_def{" int", complex.outer.base_qualifier, {}}); + (*this)(regular_type_def{" eina.Future", complex.outer.base_qualifier, {}}); return attributes::type_def::variant_type(); - // return replace_outer - // (complex, regular_type_def{" ::efl::shared_future", complex.outer.base_qualifier, {}}); } } , {"iterator", nullptr, nullptr, [&] @@ -342,10 +298,9 @@ struct visitor_generate } , {"accessor", nullptr, nullptr, [&] { - (*this)(regular_type_def{" int", complex.outer.base_qualifier, {}}); - return attributes::type_def::variant_type(); - // return replace_outer - // (complex, regular_type_def{" ::efl::eina::accessor", complex.outer.base_qualifier, {}}); + complex_type_def c = complex; + c.outer.base_type = "eina.Accessor"; + return c; } } }; diff --git a/src/bin/eolian_mono/eolian/mono/utils.hh b/src/bin/eolian_mono/eolian/mono/utils.hh index 3e48e518b5..0e1c2efc29 100644 --- a/src/bin/eolian_mono/eolian/mono/utils.hh +++ b/src/bin/eolian_mono/eolian/mono/utils.hh @@ -2,21 +2,67 @@ #define EOLIAN_MONO_UTILS_HPP #include +#include +#include #include +/* Compared to the helpers.hh and name_helpers headers, these functions are + * lower level, not dealing with binding-specific structures or knowledge */ + namespace eolian_mono { namespace utils { // Helper method to avoid multiple as_generator calls when mixing case strings - std::string to_uppercase(std::string s) + inline std::string to_uppercase(std::string s) { std::transform(s.begin(), s.end(), s.begin(), ::toupper); return s; } - std::string to_lowercase(std::string s) + inline std::string to_lowercase(std::string s) { std::transform(s.begin(), s.end(), s.begin(), ::tolower); return s; } + inline std::string capitalize(std::string const &s) + { + std::string ret = s; + ret[0] = std::toupper(ret[0]); + return ret; + } + + std::vector split(std::string const &input, char delim) + { + std::stringstream ss(input); + std::string name; + std::vector names; + + while (std::getline(ss, name, delim)) + { + if (!name.empty()) + names.push_back(name); + } + return names; + } + + std::string to_pascal_case(const std::vector &names, std::string const& delim="") + { + std::vector outv(names.size()); + std::stringstream osstream; + + std::transform(names.begin(), names.end(), outv.begin(), + [](std::string name) { + name[0] = std::toupper(name[0]); + return name; + }); + + std::copy(outv.begin(), outv.end(), std::ostream_iterator(osstream, delim.c_str())); + + std::string ret = osstream.str(); + + if (delim != "") + ret.pop_back(); // We could implement an infix_iterator but this pop is enough for now. + + return ret; + } } } #endif diff --git a/src/bin/eolian_mono/eolian_mono.cc b/src/bin/eolian_mono/eolian_mono.cc index db50906318..9bb5263fbf 100644 --- a/src/bin/eolian_mono/eolian_mono.cc +++ b/src/bin/eolian_mono/eolian_mono.cc @@ -23,6 +23,8 @@ #include #include +#include +#include #include #include #include @@ -30,6 +32,7 @@ #include #include #include +#include namespace eolian_mono { @@ -40,15 +43,13 @@ struct options_type std::string in_file; std::string out_file; std::string dllimport; - mutable Eolian* state; + mutable Eolian_State* state; mutable Eolian_Unit const* unit; int v_major; int v_minor; std::map references_map; }; -efl::eina::log_domain domain("eolian_mono"); - // Parses a CSV file in the format 'filename,library' (without trimming spaces around ',') static std::vector > parse_reference(std::string filename) @@ -99,8 +100,8 @@ run(options_type const& opts) const Eolian_Typedecl *tp = NULL; char* dup = strdup(opts.in_file.c_str()); std::string basename_input = basename(dup); - klass = ::eolian_class_get_by_file(opts.unit, basename_input.c_str()); - aliases= ::eolian_typedecl_aliases_get_by_file(opts.unit, basename_input.c_str()); + klass = ::eolian_state_class_by_file_get(opts.state, basename_input.c_str()); + aliases= ::eolian_state_aliases_by_file_get(opts.state, basename_input.c_str()); free(dup); std::string class_file_name = opts.out_file; @@ -137,22 +138,20 @@ run(options_type const& opts) efl::eolian::grammar::context_null()); EINA_ITERATOR_FOREACH(aliases, tp) { - if (eolian_typedecl_type_get(tp) != EOLIAN_TYPEDECL_FUNCTION_POINTER) - continue; - - const Eolian_Function *fp = eolian_typedecl_function_pointer_get(tp); - efl::eolian::grammar::attributes::function_def function_def(fp, EOLIAN_FUNCTION_POINTER, opts.unit); - std::vector namespaces; - - for (efl::eina::iterator namespace_iterator(::eolian_typedecl_namespaces_get(tp)), namespace_last; namespace_iterator != namespace_last; ++namespace_iterator) + if (eolian_typedecl_type_get(tp) == EOLIAN_TYPEDECL_FUNCTION_POINTER) { - namespaces.push_back(&*namespace_iterator); + const Eolian_Function *fp = eolian_typedecl_function_pointer_get(tp); + efl::eolian::grammar::attributes::function_def function_def(fp, EOLIAN_FUNCTION_POINTER, tp, opts.unit); + if (!eolian_mono::function_pointer.generate(iterator, function_def, context)) + throw std::runtime_error("Failed to generate function pointer wrapper"); } - - if (!eolian_mono::function_pointer - .generate(iterator, function_def, escape_namespace(namespaces), context)) + else // Regular aliases { - throw std::runtime_error("Failed to generate function pointer wrapper"); + efl::eolian::grammar::attributes::alias_def alias(tp, opts.unit); + auto alias_cxt = context_add_tag(class_context{class_context::alias}, context); + + if (!eolian_mono::alias_definition.generate(iterator, alias, alias_cxt)) + throw std::runtime_error("Failed to generate alias."); } } @@ -167,36 +166,35 @@ run(options_type const& opts) throw std::runtime_error("Failed to generate class"); } } - //else + + // Enums + for (efl::eina::iterator enum_iterator( ::eolian_state_enums_by_file_get(opts.state, basename_input.c_str())) + , enum_last; enum_iterator != enum_last; ++enum_iterator) { - for (efl::eina::iterator enum_iterator( ::eolian_typedecl_enums_get_by_file(opts.unit, basename_input.c_str())) - , enum_last; enum_iterator != enum_last; ++enum_iterator) - { - efl::eolian::grammar::attributes::enum_def enum_(&*enum_iterator, opts.unit); - if (!eolian_mono::enum_definition.generate(iterator, enum_, efl::eolian::grammar::context_null())) - { - throw std::runtime_error("Failed to generate enum"); - } - } + efl::eolian::grammar::attributes::enum_def enum_(&*enum_iterator, opts.unit); + if (!eolian_mono::enum_definition.generate(iterator, enum_, efl::eolian::grammar::context_null())) + { + throw std::runtime_error("Failed to generate enum"); + } + } - for (efl::eina::iterator struct_iterator( ::eolian_typedecl_structs_get_by_file(opts.unit, basename_input.c_str())) - , struct_last; struct_iterator != struct_last; ++struct_iterator) - { - efl::eolian::grammar::attributes::struct_def struct_(&*struct_iterator, opts.unit); - auto structs_cxt = context_add_tag(class_context{class_context::structs}, context); - if (!eolian_mono::struct_entities.generate(iterator, struct_, structs_cxt)) - { - throw std::runtime_error("Failed to generate struct"); - } - } - - } + // Structs + for (efl::eina::iterator struct_iterator( ::eolian_state_structs_by_file_get(opts.state, basename_input.c_str())) + , struct_last; struct_iterator != struct_last; ++struct_iterator) + { + efl::eolian::grammar::attributes::struct_def struct_(&*struct_iterator, opts.unit); + auto structs_cxt = context_add_tag(class_context{class_context::structs}, context); + if (!eolian_mono::struct_entities.generate(iterator, struct_, structs_cxt)) + { + throw std::runtime_error("Failed to generate struct"); + } + } } static void state_init(options_type const& opts) { - Eolian *eos = ::eolian_new(); + Eolian_State *eos = ::eolian_state_new(); if (!eos) { EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) @@ -212,13 +210,13 @@ database_load(options_type const& opts) { for (auto src : opts.include_dirs) { - if (!::eolian_directory_scan(opts.state, src.c_str())) + if (!::eolian_state_directory_add(opts.state, src.c_str())) { EINA_CXX_DOM_LOG_WARN(eolian_mono::domain) << "Couldn't load eolian from '" << src << "'."; } } - if (!::eolian_all_eot_files_parse(opts.state)) + if (!::eolian_state_all_eot_files_parse(opts.state)) { EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) << "Eolian failed parsing eot files"; @@ -230,7 +228,7 @@ database_load(options_type const& opts) << "No input file."; assert(false && "Error parsing input file"); } - if (!::eolian_file_parse(opts.state, opts.in_file.c_str())) + if (!::eolian_state_file_parse(opts.state, opts.in_file.c_str())) { EINA_CXX_DOM_LOG_ERR(eolian_mono::domain) << "Failed parsing: " << opts.in_file << "."; diff --git a/src/bin/evas/evas_cserve2.h b/src/bin/evas/evas_cserve2.h index cc3623e472..1eacb33bd8 100644 --- a/src/bin/evas/evas_cserve2.h +++ b/src/bin/evas/evas_cserve2.h @@ -1,6 +1,8 @@ #ifndef _EVAS_CSERVE2_H #define _EVAS_CSERVE2_H +#include + #include #include "evas_cs2.h" diff --git a/src/bin/evil/evil_suite.c b/src/bin/evil/evil_suite.c deleted file mode 100644 index 07b775875f..0000000000 --- a/src/bin/evil/evil_suite.c +++ /dev/null @@ -1,220 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include -#include - -#define WIN32_LEAN_AND_MEAN -#include -#undef WIN32_LEAN_AND_MEAN - -#include "Evil.h" -#include "evil_suite.h" -#include "evil_test_dlfcn.h" -#include "evil_test_environment.h" -#include "evil_test_gettimeofday.h" -#include "evil_test_link.h" -#include "evil_test_mkstemp.h" -#include "evil_test_pipe.h" -#include "evil_test_print.h" -#include "evil_test_realpath.h" -#include "evil_test_util.h" - - -typedef int(*function)(suite *s); - -struct test -{ - const char *name; - function fct; -}; - -struct list -{ - void *data; - int succeed; - list *next; -}; - -struct suite -{ - LARGE_INTEGER freq; - LARGE_INTEGER start; - LARGE_INTEGER end; - - list *first; - list *l; - - int tests_count; - int tests_success; -}; - - -static suite * -suite_new(void) -{ - suite *s; - - s = (suite *)malloc(sizeof(suite)); - if (!s) return NULL; - - if (!QueryPerformanceFrequency(&s->freq)) - { - free(s); - return NULL; - } - - s->first = NULL; - s->l = NULL; - - s->tests_count = 0; - s->tests_success = 0; - - return s; -} - -static void -suite_del(suite *s) -{ - list *l; - list *tmp; - - if (!s) return; - - l = s->first; - while (l) - { - tmp = l->next; - free(l->data); - free(l); - l = tmp; - } - - free(s); -} - -void -suite_time_start(suite *s) -{ - QueryPerformanceCounter(&s->start); -} - -void -suite_time_stop(suite *s) -{ - QueryPerformanceCounter(&s->end); -} - -double -suite_time_get(suite *s) -{ - return (double)(s->end.QuadPart - s->start.QuadPart) / (double)s->freq.QuadPart; -} - -static void -suite_test_add(suite *s, const char *name, function fct) -{ - test *t; - list *l; - - t = (test *)malloc(sizeof(test)); - if (!t) return; - - l = (list *)malloc(sizeof(list)); - if (!l) - { - free(t); - return; - } - - t->name = name; - t->fct = fct; - - l->data = t; - l->succeed = 0; - l->next = NULL; - - if (!s->first) s->first = l; - - if (!s->l) - s->l = l; - else - { - s->l->next = l; - s->l =l; - } -} - -static void -suite_run(suite *s) -{ - list *l; - - l = s->first; - while (l) - { - test *t; - - t = (test *)l->data; - l->succeed = t->fct(s); - printf("%s test: %s\n", t->name, l->succeed ? "success" : "failure"); - s->tests_count++; - if (l->succeed) - s->tests_success++; - l = l->next; - } -} - -static void -suite_show(suite *s) -{ - printf ("\n%d/%d tests passed (%d%%)\n", - s->tests_success, - s->tests_count, - (100 * s->tests_success) / s->tests_count); -} - -int -main(void) -{ - test tests[] = { - { "dlfcn ", test_dlfcn }, - { "environment ", test_environment }, - { "gettimeofday", test_gettimeofday }, - { "link ", test_link }, - { "mkstemp ", test_mkstemp }, - { "pipe ", test_pipe }, - { "print ", test_print }, - { "realpath ", test_realpath }, - { "util ", test_util }, -/* { "memcpy ", test_memcpy }, */ - { NULL, NULL }, - }; - suite *s; - int i; - - if (!evil_init()) - return EXIT_FAILURE; - - s = suite_new(); - if (!s) - { - evil_shutdown(); - return EXIT_FAILURE; - } - - for (i = 0; tests[i].name; ++i) - { - suite_test_add(s, tests[i].name, tests[i].fct); - } - - suite_run(s); - - suite_show(s); - - suite_del(s); - evil_shutdown(); - - return EXIT_SUCCESS; -} diff --git a/src/bin/evil/evil_suite.h b/src/bin/evil/evil_suite.h deleted file mode 100644 index d3284b4fbb..0000000000 --- a/src/bin/evil/evil_suite.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef __EVIL_SUITE_H__ -#define __EVIL_SUITE_H__ - - -typedef struct test test; -typedef struct list list; -typedef struct suite suite; - -void suite_time_start(suite *s); -void suite_time_stop(suite *s); -double suite_time_get(suite *s); - - -#endif /* __EVIL_SUITE_H__ */ diff --git a/src/bin/evil/evil_test_dlfcn.c b/src/bin/evil/evil_test_dlfcn.c deleted file mode 100644 index 605f5c4b68..0000000000 --- a/src/bin/evil/evil_test_dlfcn.c +++ /dev/null @@ -1,79 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include - -#include - -#include "evil_suite.h" -#include "evil_test_dlfcn.h" - - -typedef int (*_evil_init)(void); -typedef int (*_evil_shutdwon)(void); - - -static int -test_dlfcn_test_dlopen(void) -{ - void *handle; - - handle = dlopen("libevil-1.dll", 0); - if (!handle) - return 0; - - if (dlclose(handle)) - return 0; - - return 1; -} - -static int -test_dlfcn_test_dlsym(void) -{ - void *handle; - _evil_init sym_init; - _evil_shutdwon sym_shutdown; - - handle = dlopen("libevil-1.dll", 0); - if (!handle) - return 0; - - sym_init = dlsym(handle, "evil_init"); - if (!sym_init) - { - dlclose(handle); - return 0; - } - - sym_shutdown = dlsym(handle, "evil_shutdown"); - if (!sym_shutdown) - { - dlclose(handle); - return 0; - } - - if (dlclose(handle)) - return 0; - - return 1; -} - -static int -test_dlfcn_tests_run(suite *s) -{ - int res; - - res = test_dlfcn_test_dlopen(); - res &= test_dlfcn_test_dlsym(); - - return res; -} - -int -test_dlfcn(suite *s) -{ - - return test_dlfcn_tests_run(s); -} diff --git a/src/bin/evil/evil_test_dlfcn.h b/src/bin/evil/evil_test_dlfcn.h deleted file mode 100644 index 0c9bce689e..0000000000 --- a/src/bin/evil/evil_test_dlfcn.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_DLFCN_H__ -#define __EVIL_TEST_DLFCN_H__ - - -int test_dlfcn(suite *s); - - -#endif /* __EVIL_TEST_DLFCN_H__ */ diff --git a/src/bin/evil/evil_test_environment.c b/src/bin/evil/evil_test_environment.c deleted file mode 100644 index 0d31b7912a..0000000000 --- a/src/bin/evil/evil_test_environment.c +++ /dev/null @@ -1,178 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include - -#include - -#include "evil_suite.h" -#include "evil_test_environment.h" - - -static int -test_env_test_setenv_NULL(void) -{ - char *val; - int res; - - res = setenv("EVIL_TEST_ENV", NULL, 1); - if (res < 0) - return 0; - - val = getenv("EVIL_TEST_ENV"); - - return val ? 0 : 1; -} - -static int -test_env_test_setenv_NULL_after_set(void) -{ - char *val; - int res; - - res = setenv("EVIL_TEST_ENV", "val", 1); - if (res < 0) - return 0; - - val = getenv("EVIL_TEST_ENV"); - if (!val) - return 0; - - if (strcmp(val, "val")) - return 0; - - res = setenv("EVIL_TEST_ENV", NULL, 1); - if (res < 0) - return 0; - - val = getenv("EVIL_TEST_ENV"); - - return val ? 0 : 1; -} - -static int -test_env_test_getenv_one(void) -{ - char *val; - int res; - - res = setenv("EVIL_TEST_ENV", "val", 1); - if (res < 0) - return 0; - - val = getenv("EVIL_TEST_ENV"); - if (!val) - return 0; - - if (strcmp(val, "val")) - return 0; - - return 1; -} - -static int -test_env_test_getenv_two(void) -{ - char *val; - int res; - - res = setenv("EVIL_TEST_ENV1", "val1", 1); - if (res < 0) - return 0; - - res = setenv("EVIL_TEST_ENV2", "val2", 1); - if (res < 0) - return 0; - - val = getenv("EVIL_TEST_ENV1"); - if (!val) - return 0; - if (strcmp(val, "val1")) - return 0; - - val = getenv("EVIL_TEST_ENV2"); - if (!val) - return 0; - - if (strcmp(val, "val2")) - return 0; - - return 1; -} - -static int -test_env_test_getenv_two_swapped(void) -{ - char *val; - int res; - - res = setenv("EVIL_TEST_ENV1", "val1", 1); - if (res < 0) - return 0; - - res = setenv("EVIL_TEST_ENV2", "val2", 1); - if (res < 0) - return 0; - - val = getenv("EVIL_TEST_ENV2"); - if (!val) - return 0; - if (strcmp(val, "val2")) - return 0; - - val = getenv("EVIL_TEST_ENV1"); - if (!val) - return 0; - - if (strcmp(val, "val1")) - return 0; - - return 1; -} - -static int -test_env_test_unsetenv(void) -{ - char *val; - int res; - - res = setenv("EVIL_TEST_ENV", "val", 1); - if (res < 0) - return 0; - - val = getenv("EVIL_TEST_ENV"); - if (!val) - return 0; - - if (unsetenv("EVIL_TEST_ENV") != 0) - return 0; - - val = getenv("EVIL_TEST_ENV"); - if (val) - return 0; - - return 1; -} - -static int -test_env_tests_run(suite *s) -{ - int res; - - res = test_env_test_setenv_NULL(); - res &= test_env_test_setenv_NULL_after_set(); - res &= test_env_test_getenv_one(); - res &= test_env_test_getenv_two(); - res &= test_env_test_getenv_two_swapped(); - res &= test_env_test_unsetenv(); - - return res; -} - -int -test_environment(suite *s) -{ - - return test_env_tests_run(s); -} diff --git a/src/bin/evil/evil_test_environment.h b/src/bin/evil/evil_test_environment.h deleted file mode 100644 index 763ee401b1..0000000000 --- a/src/bin/evil/evil_test_environment.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_ENVIRONMENT_H__ -#define __EVIL_TEST_ENVIRONMENT_H__ - - -int test_environment(suite *s); - - -#endif /* __EVIL_TEST_ENVIRONMENT_H__ */ diff --git a/src/bin/evil/evil_test_gettimeofday.c b/src/bin/evil/evil_test_gettimeofday.c deleted file mode 100644 index dc9656e83d..0000000000 --- a/src/bin/evil/evil_test_gettimeofday.c +++ /dev/null @@ -1,51 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include -#include -#include - -#include - -#include "evil_suite.h" -#include "evil_test_gettimeofday.h" - -static int -test_time_test_gettimeofday(void) -{ - struct timeval tp1; - struct timeval tp2; - double delta; - - gettimeofday (&tp1, NULL); - - Sleep(1000); - - gettimeofday (&tp2, NULL); - - delta = (double)(tp2.tv_sec - tp1.tv_sec) + (double)(tp2.tv_usec - tp1.tv_usec) / 1000000.0; - if (fabs(delta - 1) > 0.005) - { - return 0; - } - - return 1; -} - -static int -test_time_tests_run(suite *s) -{ - int res; - - res = test_time_test_gettimeofday(); - - return res; -} - -int -test_gettimeofday(suite *s) -{ - - return test_time_tests_run(s); -} diff --git a/src/bin/evil/evil_test_gettimeofday.h b/src/bin/evil/evil_test_gettimeofday.h deleted file mode 100644 index ad3155b146..0000000000 --- a/src/bin/evil/evil_test_gettimeofday.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_GETTIMEOFDAY_H__ -#define __EVIL_TEST_GETTIMEOFDAY_H__ - - -int test_gettimeofday(suite *s); - - -#endif /* __EVIL_TEST_GETTIMEOFDAY_H__ */ diff --git a/src/bin/evil/evil_test_link.c b/src/bin/evil/evil_test_link.c deleted file mode 100644 index 0aa4966551..0000000000 --- a/src/bin/evil/evil_test_link.c +++ /dev/null @@ -1,159 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include -#include - -#include - -#include "evil_suite.h" -#include "evil_test_link.h" - -static int -test_link_test_file_create(const char *name, const char *data) -{ - FILE *f; - size_t length; - size_t res; - - f = fopen(name, "wb"); - if (!f) - return 0; - - length = strlen(data) + 1; - res = fwrite(data, 1, length, f); - if (res < length) - { - fclose(f); - return 0; - } - - fclose(f); - - return 1; -} - -static int -test_link_test_symlink(void) -{ -#ifdef _WIN32_WCE - const char *old_name = "\\efl\\evil_test_link.dat"; - const char *new_name = "\\efl\\evil_test_link.lnk"; -#else - const char *old_name = "evil_test_link.dat"; - const char *new_name = "evil_test_link.lnk"; -#endif - - if (!test_link_test_file_create(old_name, - "evil_test_link symlink data\n")) - return 0; - - if (symlink(old_name, new_name) < 0) - { - unlink(old_name); - return 0; - } - - if (unlink(new_name) < 0) - { - unlink(old_name); - return 0; - } - - if (unlink(old_name) < 0) - return 0; - - return 1; -} - -static int -test_link_test_readlink(void) -{ - char buf[1024]; -#ifdef _WIN32_WCE - const char *old_name = "\\efl\\evil_test_link.dat"; - const char *new_name = "\\efl\\evil_test_link.lnk"; -#else - const char *old_name = "evil_test_link.dat"; - const char *new_name = "evil_test_link.lnk"; -#endif - const char *data = "evil_test_link symlink data\n"; - FILE *f; - ssize_t s1; - size_t s2; - int l; - - if (!test_link_test_file_create(old_name, data)) - return 0; - - if (symlink(old_name, new_name) < 0) - return 0; - - if ((s1 = readlink(new_name, buf, 1023)) < 0) - { - unlink(old_name); - unlink(new_name); - return 0; - } - - buf[s1] = '\0'; - - f = fopen(buf, "rb"); - if (!f) - { - unlink(old_name); - unlink(new_name); - return 0; - } - - l = strlen(data); - s2 = fread(buf, 1, l + 1, f); - - if ((int)s2 != (l + 1)) - { - fclose(f); - unlink(old_name); - unlink(new_name); - return 0; - } - - if (strcmp(buf, data)) - { - fclose(f); - unlink(old_name); - unlink(new_name); - return 0; - } - - fclose(f); - - if (unlink(new_name) < 0) - { - unlink(old_name); - return 0; - } - - if (unlink(old_name) < 0) - return 0; - - return 1; -} - -static int -test_link_tests_run(suite *s) -{ - int res; - - res = test_link_test_symlink(); - res &= test_link_test_readlink(); - - return res; -} - -int -test_link(suite *s) -{ - - return test_link_tests_run(s); -} diff --git a/src/bin/evil/evil_test_link.h b/src/bin/evil/evil_test_link.h deleted file mode 100644 index 6f8bfa2328..0000000000 --- a/src/bin/evil/evil_test_link.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_LINK_H__ -#define __EVIL_TEST_LINK_H__ - - -int test_link(suite *s); - - -#endif /* __EVIL_TEST_LINK_H__ */ diff --git a/src/bin/evil/evil_test_mkstemp.c b/src/bin/evil/evil_test_mkstemp.c deleted file mode 100644 index 54d9df5d17..0000000000 --- a/src/bin/evil/evil_test_mkstemp.c +++ /dev/null @@ -1,95 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include -#include - -#include - -#include "evil_suite.h" -#include "evil_test_mkstemp.h" - - -static int -test_mkstemp_test(void) -{ - char _template[PATH_MAX]; -#ifdef _WIN32_WCE - char cwd[PATH_MAX]; -#endif - int fd; - -#ifdef _WIN32_WCE - if (!getcwd(cwd, PATH_MAX)) - return 0; - _snprintf(_template, PATH_MAX, "%s\\%s", cwd, "file_XXXXXX"); -#else - _snprintf(_template, PATH_MAX, "%s", "file_XXXXXX"); -#endif - - fd = mkstemp(_template); - - if (fd < 0) - return 0; - - return 1; -} - -static int -test_mkstemps_test(void) -{ - char _template[PATH_MAX]; -#ifdef _WIN32_WCE - char cwd[PATH_MAX]; -#endif - int fd; - -#ifdef _WIN32_WCE - if (!getcwd(cwd, PATH_MAX)) - return 0; - _snprintf(_template, PATH_MAX, "%s\\%s", cwd, "file_XXXXXX.ext"); -#else - _snprintf(_template, PATH_MAX, "%s", "file_XXXXXX.ext"); -#endif - - fd = mkstemps(_template, 4); - - if (fd < 0) - return 0; - - return 1; -} - -static int -test_mkstemp_run(suite *s) -{ - int res; - (void) s; - - res = test_mkstemp_test(); - - return res; -} - -static int -test_mkstemps_run(suite *s) -{ - int res; - (void) s; - - res = test_mkstemps_test(); - - return res; -} - -int -test_mkstemp(suite *s) -{ - int res; - - res = test_mkstemp_run(s); - res &= test_mkstemps_run(s); - - return res; -} diff --git a/src/bin/evil/evil_test_mkstemp.h b/src/bin/evil/evil_test_mkstemp.h deleted file mode 100644 index f5bb0c4270..0000000000 --- a/src/bin/evil/evil_test_mkstemp.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_MKSTEMP_H__ -#define __EVIL_TEST_MKSTEMP_H__ - - -int test_mkstemp(suite *s); - - -#endif /* __EVIL_TEST_MKSTEMP_H__ */ diff --git a/src/bin/evil/evil_test_pipe.c b/src/bin/evil/evil_test_pipe.c deleted file mode 100644 index e5cfdec4d1..0000000000 --- a/src/bin/evil/evil_test_pipe.c +++ /dev/null @@ -1,126 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include -#include - -# define WIN32_LEAN_AND_MEAN -# include -# undef WIN32_LEAN_AND_MEAN - -#include - -#include "evil_suite.h" -#include "evil_test_pipe.h" - - -#define FDREAD 0 -#define FDWRITE 1 - -typedef struct -{ - int val; - int fd_write; -} data; - - -static DWORD WINAPI -thread (void *param) -{ - data *d; - void *buf[1]; - - Sleep (2 * 1000); - d = (data *)param; - buf[0] = d; - send(d->fd_write, (char *)buf, sizeof(buf), 0); - - return 0; -} - -static int -test_pipe_test(void) -{ - int sockets[2]; - struct timeval t; - fd_set rfds; - int ret = 0; - data *d; - DWORD thread_id; - HANDLE h; - - FD_ZERO(&rfds); - - t.tv_sec = 5; - t.tv_usec = 0; - - if (pipe(sockets) < 0) - return 0; - - FD_SET(sockets[FDREAD], &rfds); - fcntl(sockets[FDREAD], F_SETFL, O_NONBLOCK); - - d = (data *)malloc(sizeof (data)); - if (!d) - return 0; - - d->val = 14; - d->fd_write = sockets[FDWRITE]; - - h = CreateThread(NULL, 0, thread, d, 0, &thread_id); - if (!h) - - ret = select(sockets[FDREAD] + 1, &rfds, NULL, NULL, &t); - - if (ret < 0) - goto free_d; - else if (ret == 0) - goto close_h; - else /* ret > 0 */ - { - void *buf[1]; - data *d2 = NULL; - int len; - - while ((len = recv(sockets[FDREAD], (char *)buf, sizeof(buf), 0)) > 0) - { - if (len == sizeof(buf)) - { - d2 = (data *)buf[0]; - break; - } - } - if (d2 && (d2->val == d->val)) - ret = 1; - else - ret = 0; - } - - CloseHandle(h); - free(d); - - return ret; - - close_h: - CloseHandle(h); - free_d: - free(d); - return 0; -} - -static int -test_pipe_run(suite *s) -{ - int res; - - res = test_pipe_test(); - - return res; -} - -int -test_pipe(suite *s) -{ - return test_pipe_run(s); -} diff --git a/src/bin/evil/evil_test_pipe.h b/src/bin/evil/evil_test_pipe.h deleted file mode 100644 index ff8041f716..0000000000 --- a/src/bin/evil/evil_test_pipe.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_PIPE_H__ -#define __EVIL_TEST_PIPE_H__ - - -int test_pipe(suite *s); - - -#endif /* __EVIL_TEST_PIPE_H__ */ diff --git a/src/bin/evil/evil_test_print.c b/src/bin/evil/evil_test_print.c deleted file mode 100644 index c775cfbefd..0000000000 --- a/src/bin/evil/evil_test_print.c +++ /dev/null @@ -1,46 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include -#include - -#include - -#include "evil_suite.h" -#include "evil_test_print.h" - -static int -test_print_test(void) -{ - char buf[16]; - int i1 = 1; - size_t i2 = 123456; - int res; - - res = printf("%02hhd\n", i1); - if (res != 3) - return 0; - - res = snprintf(buf, sizeof(buf), "%zu", i2); - if (res != 6) - return 0; - - return 1; -} - -static int -test_print_run(suite *s) -{ - int res; - - res = test_print_test(); - - return res; -} - -int -test_print(suite *s) -{ - return test_print_run(s); -} diff --git a/src/bin/evil/evil_test_print.h b/src/bin/evil/evil_test_print.h deleted file mode 100644 index 2bbf43904f..0000000000 --- a/src/bin/evil/evil_test_print.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_PRINT_H__ -#define __EVIL_TEST_PRINT_H__ - - -int test_print(suite *s); - - -#endif /* __EVIL_TEST_PRINT_H__ */ diff --git a/src/bin/evil/evil_test_realpath.c b/src/bin/evil/evil_test_realpath.c deleted file mode 100644 index fbc4d1d570..0000000000 --- a/src/bin/evil/evil_test_realpath.c +++ /dev/null @@ -1,45 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include -#include - -#include - -#include "evil_suite.h" -#include "evil_test_realpath.h" - - -static int -test_realpath_test(void) -{ - char buf[PATH_MAX]; - char *filename; - char *result; - - filename = "evil_suite.exe"; - - if (!(result = realpath(filename, buf))) - return 0; - - printf ("res : %s\n", buf); - - return 1; -} - -static int -test_realpath_run(suite *s) -{ - int res; - - res = test_realpath_test(); - - return res; -} - -int -test_realpath(suite *s) -{ - return test_realpath_run(s); -} diff --git a/src/bin/evil/evil_test_realpath.h b/src/bin/evil/evil_test_realpath.h deleted file mode 100644 index 0205aad149..0000000000 --- a/src/bin/evil/evil_test_realpath.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_REALPATH_H__ -#define __EVIL_TEST_REALPATH_H__ - - -int test_realpath(suite *s); - - -#endif /* __EVIL_TEST_REALPATH_H__ */ diff --git a/src/bin/evil/evil_test_util.c b/src/bin/evil/evil_test_util.c deleted file mode 100644 index 3763f88b64..0000000000 --- a/src/bin/evil/evil_test_util.c +++ /dev/null @@ -1,110 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif /* HAVE_CONFIG_H */ - -#include - -#include - -#include "evil_suite.h" -#include "evil_test_util.h" - - -static int test_path_absolute_test_1(void) -{ - char *path; - int result; - - path = NULL; - result = evil_path_is_absolute(path); - if (result != 0) - return 0; - - return 1; -} - -static int test_path_absolute_test_2(void) -{ - char *path; - int result; - - path = "1"; - result = evil_path_is_absolute(path); - if (result != 0) - return 0; - - return 1; -} - -static int test_path_absolute_test_3(void) -{ - char *path; - int result; - - path = "1:\\"; - result = evil_path_is_absolute(path); - if (result != 0) - return 0; - - return 1; -} - -static int test_path_absolute_test_4(void) -{ - char *path; - int result; - - path = "1/\\"; - result = evil_path_is_absolute(path); - if (result != 0) - return 0; - - return 1; -} - -static int test_path_absolute_test_5(void) -{ - char *path; - int result; - - path = "F:/foo"; - result = evil_path_is_absolute(path); - if (result == 0) - return 0; - - return 1; -} - -static int test_path_absolute_test_6(void) -{ - char *path; - int result; - - path = "C:\\foo"; - result = evil_path_is_absolute(path); - if (result == 0) - return 0; - - return 1; -} - -static int -test_path_absolute_run(suite *s) -{ - int res; - - res = test_path_absolute_test_1(); - res &= test_path_absolute_test_2(); - res &= test_path_absolute_test_3(); - res &= test_path_absolute_test_4(); - res &= test_path_absolute_test_5(); - res &= test_path_absolute_test_6(); - - return res; -} - -int -test_util(suite *s) -{ - return test_path_absolute_run(s); -} diff --git a/src/bin/evil/evil_test_util.h b/src/bin/evil/evil_test_util.h deleted file mode 100644 index bee5c7a164..0000000000 --- a/src/bin/evil/evil_test_util.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef __EVIL_TEST_UTIL_H__ -#define __EVIL_TEST_UTIL_H__ - - -int test_util(suite *s); - - -#endif /* __EVIL_TEST_UTIL_H__ */ diff --git a/src/bin/evil/test_evil.c b/src/bin/evil/test_evil.c deleted file mode 100644 index 5b91172cb3..0000000000 --- a/src/bin/evil/test_evil.c +++ /dev/null @@ -1,27 +0,0 @@ -#include -#include -#include - -#include - - - -int -main() -{ - struct timeval tv; - double t1 = 0.0; - double t2 = 0.0; - - if (gettimeofday(&tv, NULL) == 0) - t1 = tv.tv_sec + tv.tv_usec / 1000000.0; - - Sleep(3000); - - if (gettimeofday(&tv, NULL) == 0) - t2 = tv.tv_sec + tv.tv_usec / 1000000.0; - - printf ("3 seconds ? %f\n", t2 - t1); - - return EXIT_SUCCESS; -} diff --git a/src/bindings/cxx/eo_cxx/Eo.hh b/src/bindings/cxx/eo_cxx/Eo.hh index bd60f69701..4a4da4c6ef 100644 --- a/src/bindings/cxx/eo_cxx/Eo.hh +++ b/src/bindings/cxx/eo_cxx/Eo.hh @@ -8,7 +8,6 @@ #include //#include //#include -#include #include #include diff --git a/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh b/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh index a83688a3d9..019a417d14 100644 --- a/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh +++ b/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh @@ -7,7 +7,6 @@ #include #include #include -#include #include #include @@ -59,8 +58,6 @@ template struct out_traits> { typedef eina::optional type; }; template <> struct out_traits { typedef void*& type; }; -template -struct out_traits> { typedef efl::shared_future& type; }; template <> struct out_traits { typedef efl::eina::strbuf_wrapper& type; }; @@ -68,8 +65,6 @@ template struct inout_traits { typedef T& type; }; template <> struct inout_traits { typedef void* type; }; -template -struct inout_traits> { typedef efl::shared_future& type; }; template struct return_traits { typedef T type; }; @@ -142,10 +137,6 @@ void assign_out_impl(T& lhs, Eo const* rhs, tag { lhs._reset(const_cast(rhs)); } -template -void assign_out_impl(efl::shared_future& /*v*/, Efl_Future*, tag&, Efl_Future*>) -{ -} template void assign_out_impl(efl::eina::string_view& view, const char* string, Tag) { @@ -277,11 +268,6 @@ Eo const* convert_inout_impl(T v, tag { return v._eo_ptr(); } -template -Efl_Future* convert_inout_impl(efl::shared_future& /*v*/, tag, Efl_Future*>) -{ - return nullptr; -} } template @@ -545,11 +531,6 @@ inline const char* convert_to_c_impl(efl::eina::stringshare x, tag -Efl_Future* convert_to_c_impl(efl::shared_future const&, tagconst&>) -{ - std::abort(); -} template T* convert_to_c_impl(std::unique_ptr& v, tag>) { @@ -709,12 +690,6 @@ eina::accessor convert_to_return(Eina_Accessor* value, tag{ value }; } -template -efl::shared_future convert_to_return(Efl_Future* /*value*/, tag>) -{ - std::abort(); - return {}; -} // Eina_Value* inline efl::eina::value convert_to_return(Eina_Value* value, tag) { @@ -836,7 +811,7 @@ inline void do_eo_add(Eo*& object, P const& parent , Efl_Class const* klass , typename std::enable_if< eo::is_eolian_object

::value>::type* = 0) { - bool is_ref = (parent._eo_ptr() != nullptr); + bool const is_ref = true; object = ::_efl_add_internal_start(__FILE__, __LINE__, klass, parent._eo_ptr(), is_ref, EINA_FALSE); object = ::_efl_add_end(object, is_ref, EINA_FALSE); } @@ -862,7 +837,7 @@ void do_eo_add(Eo*& object, P const& parent, Efl_Class const* klass , F&& f , typename std::enable_if< eo::is_eolian_object

::value>::type* = 0) { - bool is_ref = (parent._eo_ptr() != nullptr); + bool const is_ref = true; object = ::_efl_add_internal_start(__FILE__, __LINE__, klass, parent._eo_ptr(), is_ref, EINA_FALSE); ::efl::eolian::call_lambda(std::forward(f), proxy); object = ::_efl_add_end(object, is_ref, EINA_FALSE); diff --git a/src/bindings/cxx/eo_cxx/eo_future.hh b/src/bindings/cxx/eo_cxx/eo_future.hh deleted file mode 100644 index 7ed77cf016..0000000000 --- a/src/bindings/cxx/eo_cxx/eo_future.hh +++ /dev/null @@ -1,505 +0,0 @@ -/// -/// @file eo_future.hh -/// - -#ifndef EFL_CXX_EO_FUTURE_HH -#define EFL_CXX_EO_FUTURE_HH - -#include - -#include -#include - -#include -#include - -#include -#include - -namespace efl { - -template -struct shared_future; - -namespace _impl { - -template -struct wait_state -{ - bool available = false; - bool has_failed = false; - std::mutex mutex; - std::condition_variable cv; - typename std::aligned_storage::type storage; - Eina_Error error; -}; - -inline void get_error_cb(void* data, Efl_Event const* event) -{ - wait_state<>* wait_state_ = static_cast*>(data); - Efl_Future_Event_Failure* info = static_cast(event->info); - std::unique_lock l(wait_state_->mutex); - wait_state_->error = info->error; - wait_state_->has_failed = true; - wait_state_->available = true; - wait_state_->cv.notify_one(); -} - -struct shared_future_common -{ - explicit shared_future_common(Efl_Future* future) - : _future(future) {} - shared_future_common() - : _future(nullptr) {} - ~shared_future_common() - { - if(_future) - efl_unref(_future); - } - shared_future_common(shared_future_common const& future) - : _future(efl_ref(future._future)) - { - } - shared_future_common& operator=(shared_future_common const& other) - { - _self_type tmp(other); - tmp.swap(*this); - return *this; - } - shared_future_common(shared_future_common&& future) - : _future(future._future) - { - future._future = nullptr; - } - shared_future_common& operator=(shared_future_common&& other) - { - other.swap(*this); - return *this; - } - void swap(shared_future_common& other) - { - std::swap(_future, other._future); - } - bool valid() const noexcept - { - return _future != nullptr; - } - void wait() const - { - if(eina_main_loop_is()) - throw std::runtime_error("Deadlock"); - - struct wait_state<> wait_state; - - efl::ecore::main_loop_thread_safe_call_async - ([&] - { - efl_future_then(this->_future, &wait_success, &wait_success, nullptr, &wait_state); - }); - - std::unique_lock lock(wait_state.mutex); - while(!wait_state.available) - wait_state.cv.wait(lock); - } - static void wait_success(void* data, Efl_Event const*) - { - wait_state<>* wait_state_ = static_cast*>(data); - std::unique_lock l(wait_state_->mutex); - wait_state_->available = true; - wait_state_->cv.notify_one(); - } - - typedef Efl_Future* native_handle_type; - native_handle_type native_handle() const noexcept { return _future; } - - typedef shared_future_common _self_type; - Efl_Future* _future; -}; - -template -struct shared_future_1_type : shared_future_common -{ - typedef shared_future_common _base_type; - - using _base_type::_base_type; - shared_future_1_type() = default; - shared_future_1_type(shared_future_common const& other) - : _base_type(other) {} - - T get() const - { - if(eina_main_loop_is()) - throw std::runtime_error("Deadlock"); - - struct wait_state wait_state; - - efl::ecore::main_loop_thread_safe_call_async - ([&] - { - efl_future_then(this->_future, &get_success, &_impl::get_error_cb, nullptr, &wait_state); - }); - - { - std::unique_lock lock(wait_state.mutex); - while(!wait_state.available) - wait_state.cv.wait(lock); - } - if(wait_state.has_failed) - EFL_CXX_THROW(eina::system_error(eina::error_code(wait_state.error, eina::eina_error_category()), "EFL Eina Error")); - return *static_cast(static_cast(&wait_state.storage)); - } - - static void get_success(void* data, Efl_Event const* event) - { - wait_state* wait_state_ = static_cast*>(data); - Efl_Future_Event_Success* info = static_cast(event->info); - - std::unique_lock l(wait_state_->mutex); - _impl::future_copy_traits::copy(static_cast(static_cast(&wait_state_->storage)), info); - wait_state_->available = true; - wait_state_->cv.notify_one(); - } - - typedef shared_future_1_type _self_type; -}; - -template -struct shared_race_future_1_type : shared_future_common -{ - typedef shared_future_common _base_type; - - using _base_type::_base_type; - shared_race_future_1_type(_base_type const& other) - : _base_type(other) {} - - T get() const - { - if(eina_main_loop_is()) - throw std::runtime_error("Deadlock"); - - struct wait_state wait_state; - - efl::ecore::main_loop_thread_safe_call_async - ([&] - { - efl_future_then(this->_future, &get_success, &_impl::get_error_cb, nullptr, &wait_state); - }); - - { - std::unique_lock lock(wait_state.mutex); - while(!wait_state.available) - wait_state.cv.wait(lock); - } - if(wait_state.has_failed) - EFL_CXX_THROW(eina::system_error(eina::error_code(wait_state.error, eina::eina_error_category()), "EFL Eina Error")); - return *static_cast(static_cast(&wait_state.storage)); - } - - static void get_success(void* data, Efl_Event const* event) - { - wait_state* wait_state_ = static_cast*>(data); - Efl_Future_Event_Success* info = static_cast(event->info); - - std::unique_lock l(wait_state_->mutex); - _impl::future_copy_traits::copy_race(static_cast(static_cast(&wait_state_->storage)), info); - wait_state_->available = true; - wait_state_->cv.notify_one(); - } - - typedef shared_race_future_1_type _self_type; -}; - -template -struct shared_future_varargs_type : shared_future_common -{ - typedef shared_future_common _base_type; - - using _base_type::_base_type; - shared_future_varargs_type() = default; - shared_future_varargs_type(_base_type const& other) - : _base_type(other) {} - - typedef std::tuple tuple_type; - - std::tuple get() const - { - if(eina_main_loop_is()) - throw std::runtime_error("Deadlock"); - - struct wait_state wait_state; - - efl::ecore::main_loop_thread_safe_call_async - ([&] - { - efl_future_then(this->_future, &get_success, &_impl::get_error_cb, nullptr, &wait_state); - }); - - { - std::unique_lock lock(wait_state.mutex); - while(!wait_state.available) - wait_state.cv.wait(lock); - } - if(wait_state.has_failed) - EFL_CXX_THROW(eina::system_error(eina::error_code(wait_state.error, eina::eina_error_category()), "EFL Eina Error")); - return *static_cast(static_cast(&wait_state.storage)); - } - - template - static void read_accessor(Eina_Accessor* accessor - , std::tuple::type...>& storage_tuple - , wait_state* wait_state - , std::false_type) - { - typedef typename std::tuple_element::type type; - void* value; - if(eina_accessor_data_get(accessor, N, &value)) - { - eina::copy_from_c_traits::copy_to_unitialized - (static_cast(static_cast(&std::get(storage_tuple))), value); - - _self_type::read_accessor(accessor, storage_tuple, wait_state - , std::integral_constant()); - } - else - { - std::abort(); - // some error - } - } - - template - static void read_accessor_end(std::tuple::type...>& storage_tuple - , wait_state* wait_state - , eina::index_sequence) - { - std::unique_lock l(wait_state->mutex); - - new (&wait_state->storage) tuple_type{(*static_cast::type*> - (static_cast(&std::get(storage_tuple))))...}; - - wait_state->available = true; - wait_state->cv.notify_one(); - } - - template - static void read_accessor(Eina_Accessor* - , std::tuple::type...>& storage_tuple - , wait_state* wait_state - , std::true_type) - { - _self_type::read_accessor_end(storage_tuple, wait_state, eina::make_index_sequence{}); - } - - static void get_success(void* data, Efl_Event const* event) - { - wait_state* wait_state_ = static_cast*>(data); - Efl_Future_Event_Success* info = static_cast(event->info); - - Eina_Accessor* accessor = static_cast(info->value); - std::tuple::type...> storage_tuple; - - _self_type::read_accessor<0u>(accessor, storage_tuple, wait_state_, std::false_type()); - } - - typedef shared_future_varargs_type _self_type; -}; - -} - -template -struct shared_future : private - std::conditional - < - sizeof...(Args) == 1 - , _impl::shared_future_1_type>::type> - , typename std::conditional - <_impl::is_progress>::type>::value - , typename std::conditional - - , _impl::shared_future_varargs_type - >::type - , _impl::shared_future_varargs_type - >::type - >::type -{ - typedef typename - std::conditional - < - sizeof...(Args) == 1 - , _impl::shared_future_1_type - , typename std::conditional - <_impl::is_progress>::type>::value - , typename std::conditional - - , _impl::shared_future_varargs_type - >::type - , _impl::shared_future_varargs_type - >::type - >::type - _base_type; - typedef typename _impl::progress_param::type progress_param_type; - typedef typename _impl::progress_type::type progress_type; - typedef typename _base_type::native_handle_type native_handle_type; - using _base_type::_base_type; - using _base_type::swap; - using _base_type::valid; - using _base_type::get; - using _base_type::wait; - using _base_type::native_handle; - - shared_future() = default; - template - shared_future(shared_future const& other - , typename std::enable_if<_impl::is_progress_param_compatible - ::type>::value>::type* = nullptr) - : _base_type(static_cast< _impl::shared_future_common const&>(other)) - { - } - - template - friend struct shared_future; -}; - -template -struct shared_race_future : private std::conditional>::type>, void>::type -{ - typedef typename std::conditional>::type>, void>::type _base_type; - - using _base_type::_base_type; - using _base_type::swap; - using _base_type::valid; - using _base_type::get; - using _base_type::wait; - using _base_type::native_handle; - typedef typename _base_type::native_handle_type native_handle_type; -}; - -namespace _impl { - -template -struct is_race_future : std::false_type {}; - -template -struct is_race_future> : std::true_type {}; - -} - -template