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