On Thu, 25 Nov 2010, Enlightenment SVN wrote:

> Log:
>  welcome edje_external_inspector.

i would have named it edje_inspector_external :p

Vincent

>
>  this tool is similar to edje_inspector as it uses similar command line
>  and output formats, but instead of acting upon EDJ compiled files, it
>  will use edje EXTERNAL module providers (/usr/lib/edje/modules/*),
>  being able to list modules and their registered types.
>
>  it is quite useful to know which parameters are exposed, their types
>  and default value (--detail=terse) and also mode information such as
>  flags, min/max/step/accepted/denied and other valuable information
>  (--detail=all).
>
>  as usual it accepts globs to filter input. example usage:
>
>  {{{
>  shell$ edje_external_inspector -t '*anch*'
>  module {
>     name: "elm";
>     friendly_name: "Elementary";
>     types {
>        type {
>           name: "elm/anchorblock";
>           params {
>              string: "style" "default";
>              string: "text" "some text";
>           }
>        }
>        type {
>           name: "elm/anchorview";
>           params {
>              string: "style" "default";
>              string: "text" "some text";
>           }
>        }
>     }
>  }
>
>  shell$ edje_external_inspector --type='*anch*'
>  module {
>     name: "elm";
>     friendly_name: "Elementary";
>     types {
>        type {
>           name: "elm/anchorblock";
>           params {
>              string: "style" "default";
>              string: "text" "some text";
>           }
>        }
>        type {
>           name: "elm/anchorview";
>           params {
>              string: "style" "default";
>              string: "text" "some text";
>           }
>        }
>     }
>  }
>
>  shell$ edje_external_inspector --detail=all 'emo*'
>  module {
>     name: "emotion";
>     friendly_name: "Emotion";
>     types {
>        type {
>           name: "emotion";
>           label: "Emotion";
>           params {
>              choice: "engine" "xine"; /* flags: REGULAR, choices: "xine" 
> "gstreamer" */
>              string: "file"; /* flags: REGULAR */
>              bool: "play" "0"; /* flags: REGULAR, false_str: "false", 
> true_str: "true" */
>              double: "position" "0"; /* flags: REGULAR */
>              bool: "smooth_scale" "0"; /* flags: REGULAR, false_str: "false", 
> true_str: "true" */
>              double: "audio_volume" "0.9"; /* flags: REGULAR */
>              bool: "audio_mute" "0"; /* flags: REGULAR, false_str: "false", 
> true_str: "true" */
>              int: "audio_channel" "0"; /* flags: REGULAR */
>              bool: "video_mute" "0"; /* flags: REGULAR, false_str: "false", 
> true_str: "true" */
>              int: "video_channel" "0"; /* flags: REGULAR */
>              bool: "spu_mute" "0"; /* flags: REGULAR, false_str: "false", 
> true_str: "true" */
>              int: "spu_channel" "0"; /* flags: REGULAR */
>              int: "chapter" "0"; /* flags: REGULAR */
>              double: "play_speed" "1"; /* flags: REGULAR */
>              double: "play_length" "0"; /* flags: REGULAR */
>           }
>        }
>     }
>  }
>  }}}
>
>
> Author:       barbieri
> Date:         2010-11-25 15:16:56 -0800 (Thu, 25 Nov 2010)
> New Revision: 54999
>
> Added:
>  trunk/edje/src/bin/edje_external_inspector.c
> Modified:
>  trunk/edje/configure.ac trunk/edje/src/bin/ trunk/edje/src/bin/Makefile.am 
> trunk/edje/src/lib/edje_external.c
>
> Modified: trunk/edje/configure.ac
> ===================================================================
> --- trunk/edje/configure.ac   2010-11-25 19:41:59 UTC (rev 54998)
> +++ trunk/edje/configure.ac   2010-11-25 23:16:56 UTC (rev 54999)
> @@ -96,6 +96,7 @@
> EFL_ENABLE_BIN([edje-player])
> EFL_ENABLE_BIN([edje-convert])
> EFL_ENABLE_BIN([edje-inspector])
> +EFL_ENABLE_BIN([edje-external-inspector])
>
> # Optional EDJE_PROGRAM_CACHE (use much more ram, but increase speed in some 
> cases)
> want_edje_program_cache="no"
> @@ -380,15 +381,17 @@
> echo "  EDJE_PROGRAM_CACHE...: $want_edje_program_cache"
> echo "  EDJE_CALC_CACHE......: $want_edje_calc_cache"
> echo "  Fixed point..........: $want_fixed_point"
> +echo "  Documentation........: ${build_doc}"
> echo
> -echo "  Build edje_cc........: $have_edje_cc"
> -echo "  Build edje_decc......: $have_edje_decc"
> -echo "  Build edje_recc......: $have_edje_recc"
> -echo "  Build edje_player....: $have_edje_player"
> -echo "  Build edje_convert...: $have_edje_convert"
> -echo "  Build edje_inspector.: $have_edje_inspector"
> +echo "Programs:"
> echo
> -echo "  Documentation........: ${build_doc}"
> +echo "  Build edje_cc................: $have_edje_cc"
> +echo "  Build edje_decc..............: $have_edje_decc"
> +echo "  Build edje_recc..............: $have_edje_recc"
> +echo "  Build edje_player............: $have_edje_player"
> +echo "  Build edje_convert...........: $have_edje_convert"
> +echo "  Build edje_inspector.........: $have_edje_inspector"
> +echo "  Build edje_external_inspector: $have_edje_external_inspector"
> echo
> echo "Compilation............: make (or gmake)"
> echo "  CPPFLAGS.............: $CPPFLAGS"
>
>
> Property changes on: trunk/edje/src/bin
> ___________________________________________________________________
> Modified: svn:ignore
>   - .deps
> .libs
> Makefile
> Makefile.in
> edje
> edje_ls
> edje_cc
> edje_decc
> edje_player
> edje_convert
> edje_inspector
>
>
>   + .deps
> .libs
> Makefile
> Makefile.in
> edje
> edje_ls
> edje_cc
> edje_decc
> edje_player
> edje_convert
> edje_inspector
> edje_external_inspector
>
>
> Modified: trunk/edje/src/bin/Makefile.am
> ===================================================================
> --- trunk/edje/src/bin/Makefile.am    2010-11-25 19:41:59 UTC (rev 54998)
> +++ trunk/edje/src/bin/Makefile.am    2010-11-25 23:16:56 UTC (rev 54999)
> @@ -15,9 +15,9 @@
>
> bin_SCRIPTS = @EDJE_RECC_PRG@
>
> -bin_PROGRAMS = @EDJE_CC_PRG@ @EDJE_DECC_PRG@ @EDJE_PLAYER_PRG@ 
> @EDJE_CONVERT_PRG@ @EDJE_INSPECTOR_PRG@
> +bin_PROGRAMS = @EDJE_CC_PRG@ @EDJE_DECC_PRG@ @EDJE_PLAYER_PRG@ 
> @EDJE_CONVERT_PRG@ @EDJE_INSPECTOR_PRG@ @EDJE_EXTERNAL_INSPECTOR_PRG@
>
> -EXTRA_PROGRAMS = edje_cc edje_decc edje_player edje_convert edje_inspector
> +EXTRA_PROGRAMS = edje_cc edje_decc edje_player edje_convert edje_inspector 
> edje_external_inspector
>
> edje_cc_SOURCES = \
> edje_cc.c \
> @@ -53,6 +53,10 @@
> edje_inspector_LDADD = $(top_builddir)/src/lib/libedje.la $(EVIL_LIBS) 
> $(ECORE_EVAS_LIBS) $(EVIL_LIBS)
> edje_inspector_LDFLAGS = @lt_enable_auto_import@
>
> +edje_external_inspector_SOURCES = edje_external_inspector.c
> +edje_external_inspector_LDADD = $(top_builddir)/src/lib/libedje.la 
> $(EVIL_LIBS) $(ECORE_EVAS_LIBS) $(EVIL_LIBS)
> +edje_external_inspector_LDFLAGS = @lt_enable_auto_import@
>
> +
> EXTRA_DIST = @EDJE_RECC_PRG@ edje_prefix.h edje_cc.h edje_convert.h
> EXTRA_SCRIPTS = edje_recc
>
> Modified: trunk/edje/src/lib/edje_external.c
> ===================================================================
> --- trunk/edje/src/lib/edje_external.c        2010-11-25 19:41:59 UTC (rev 
> 54998)
> +++ trunk/edje/src/lib/edje_external.c        2010-11-25 23:16:56 UTC (rev 
> 54999)
> @@ -393,6 +393,46 @@
>    return EDJE_EXTERNAL_TYPE_ABI_VERSION;
> }
>
> +/**
> + * Returns an iterator that emits Eina_Hash_Tuple pointers with key
> + * being the name and data being the Edje_External_Type pointer.
> + *
> + * @code
> + * const Eina_Hash_Tuple *tuple;
> + * Eina_Iterator *itr;
> + * const Eina_List *l, *modules;
> + * const char *s;
> + *
> + * modules = edje_available_modules_get();
> + * EINA_LIST_FOREACH(modules, l, s)
> + *   {
> + *      if (!edje_module_load(s))
> + *        printf("Error loading edje module: %s\n", s);
> + *   }
> + *
> + * itr = edje_external_iterator_get();
> + * EINA_ITERATOR_FOREACH(itr, tuple)
> + *   {
> + *      const char *name = tuple->key;
> + *      const Edje_External_Type *type = tuple->data;
> + *
> + *      if ((!type) ||
> + *          (type->abi_version != edje_external_type_abi_version_get()))
> + *        {
> + *           printf("Error: invalid type %p (abi: %d, expected: %d)\n",
> + *                   type, type ? type->abi_version : 0,
> + *                   edje_external_type_abi_version_get());
> + *           continue;
> + *        }
> + *
> + *      printf("%s: %s (%s) label='%s' desc='%s'\n",
> + *             name, type->module, type->module_name,
> + *             type->label_get ? type->label_get(type->data) : "",
> + *             type->description_get ? type->description_get(type->data) : 
> "");
> + *   }
> + *
> + * @endcode
> + */
> EAPI Eina_Iterator *
> edje_external_iterator_get(void)
> {
>
>
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
>

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to