On Mon, 18 Jul 2011 14:08:14 -0300 Bruno Dilly <bdi...@profusion.mobi> said:

yes! that's right! you nailed it. only thing that got me was the intial example
didnt use conformant at all and i had to read all the way to the bottom and get
example 02 to see it in use inside the code. 

may i suggest putting the 2nd example up at the start, THEN go dissect it
starting with the base, and making it "conformant".

> Hey people,
> 
> I've written an example of usage of elm_conformant, but I would be
> glad if somebody that developed it or that knows this widget better
> than I could check my example and see if there is some use more
> relevant to be cited / exemplified.
> 
> http://docs.enlightenment.org/auto/elementary/conformant_example.html
> 
> API documentation at:
> http://docs.enlightenment.org/auto/elementary/group__Conformant.html
> 
> Thanks in advance.
> 
> On Mon, Jul 18, 2011 at 11:00 AM, Enlightenment SVN
> <no-re...@enlightenment.org> wrote:
> > Log:
> > Elementary: Conformant Documentation
> >
> >
> >
> > Author:       bdilly
> > Date:         2011-07-18 07:00:36 -0700 (Mon, 18 Jul 2011)
> > New Revision: 61479
> > Trac:         http://trac.enlightenment.org/e/changeset/61479
> >
> > Added:
> >  trunk/elementary/doc/img/screenshots/conformant_example_01.eps
> > trunk/elementary/doc/img/screenshots/conformant_example_01.png
> > trunk/elementary/doc/img/screenshots/conformant_example_02.eps
> > trunk/elementary/doc/img/screenshots/conformant_example_02.png
> > trunk/elementary/doc/img/screenshots/conformant_example_03.eps
> > trunk/elementary/doc/img/screenshots/conformant_example_03.png
> > trunk/elementary/doc/img/screenshots/conformant_example_04.eps
> > trunk/elementary/doc/img/screenshots/conformant_example_04.png
> > trunk/elementary/src/examples/conformant_example_01.c
> > trunk/elementary/src/examples/conformant_example_02.c Modified:
> > trunk/elementary/doc/examples.dox trunk/elementary/src/examples/Makefile.am
> > trunk/elementary/src/lib/Elementary.h.in
> > trunk/elementary/src/lib/elm_conform.c
> >
> > Modified: trunk/elementary/doc/examples.dox
> > ===================================================================
> > --- trunk/elementary/doc/examples.dox   2011-07-18 11:25:54 UTC (rev 61478)
> > +++ trunk/elementary/doc/examples.dox   2011-07-18 14:00:36 UTC (rev 61479)
> > @@ -2189,6 +2189,79 @@
> >  */
> >
> >  /**
> > + * @page conformant_example Conformant Example.
> > + *
> > + * In this example we'll explain how to create applications to work
> > + * with illume, considering space required for virtual keyboards.
> > + *
> > + * Illume is a module for Enlightenment that modifies the user interface
> > + * to work cleanly and nicely on a mobile device. It has support for
> > + * virtual keyboard, among other nice features.
> > + *
> > + * Let's start creating a very simple window with a vertical box
> > + * with multi-line entry between two buttons.
> > + * This entry will expand filling all space on window not used by buttons.
> > + *
> > + * @dontinclude conformant_example_01.c
> > + * @skipline elm_main
> > + * @until }
> > + *
> > + * For information about how to create windows, boxes, buttons or entries,
> > + * look for documentation for these widgets.
> > + *
> > + * It will looks fine when you don't need a virtual keyboard, as you
> > + * can see on the following image:
> > + *
> > + * @image html screenshots/conformant_example_01.png
> > + * @image latex screenshots/conformant_example_01.eps
> > + *
> > + * But if you call a virtual keyboard, the window will resize, changing
> > + * widgets size and position. All the content will shrink.
> > + * The window will look like this:
> > + *
> > + * @image html screenshots/conformant_example_02.png
> > + * @image latex screenshots/conformant_example_02.eps
> > + *
> > + * If you don't want such behaviour, you
> > + * will need a conformant to account for space taken up by the indicator,
> > + * virtual keyboard and softkey windows.
> > + *
> > + * In this case, using the conformant in a proper way, you will have
> > + * a window like the following when the virtual keyboard is hidden:
> > + *
> > + * @image html screenshots/conformant_example_03.png
> > + * @image latex screenshots/conformant_example_03.eps
> > + *
> > + * As you can see, it guess the space that will be required by the
> > keyboard.
> > + * Verify how perfectly it fits when keyboard is visible:
> > + *
> > + * @image html screenshots/conformant_example_04.png
> > + * @image latex screenshots/conformant_example_04.eps
> > + *
> > + * So, let's study each step required to transform our initial example on
> > + * the second one.
> > + *
> > + * First of all, we need to set the window as an illume conformant window:
> > + * @dontinclude conformant_example_02.c
> > + * @skipline elm_win_conformant_set
> > + *
> > + * Next, we'll add a conformant widget, and set it to resize with the
> > window,
> > + * instead of the box.
> > + * @skipline conform
> > + * @until evas_object_show
> > + *
> > + * Finally, we'll set the box as conformant's content, just like this:
> > + * @skipline elm_conformant_content_set
> > + *
> > + * Compare both examples code:
> > + * @ref conformant_example_01.c "conformant_example_01.c"
> > + * @ref conformant_example_02.c "conformant_example_02.c"
> > + *
> > + * @example conformant_example_01.c
> > + * @example conformant_example_02.c
> > + */
> > +
> > +/**
> >  * @page bg_example_01_c bg_example_01.c
> >  * @include bg_example_01.c
> >  * @example bg_example_01.c
> >
> >
> > Property changes on:
> > trunk/elementary/doc/img/screenshots/conformant_example_01.png
> > ___________________________________________________________________ Added:
> > svn:mime-type
> >   + application/octet-stream
> >
> >
> > Property changes on:
> > trunk/elementary/doc/img/screenshots/conformant_example_02.png
> > ___________________________________________________________________ Added:
> > svn:mime-type
> >   + application/octet-stream
> >
> >
> > Property changes on:
> > trunk/elementary/doc/img/screenshots/conformant_example_03.png
> > ___________________________________________________________________ Added:
> > svn:mime-type
> >   + application/octet-stream
> >
> >
> > Property changes on:
> > trunk/elementary/doc/img/screenshots/conformant_example_04.png
> > ___________________________________________________________________ Added:
> > svn:mime-type
> >   + application/octet-stream
> >
> > Modified: trunk/elementary/src/examples/Makefile.am
> > ===================================================================
> > --- trunk/elementary/src/examples/Makefile.am   2011-07-18 11:25:54 UTC
> > (rev 61478) +++ trunk/elementary/src/examples/Makefile.am   2011-07-18
> > 14:00:36 UTC (rev 61479) @@ -57,6 +57,8 @@
> >        calendar_example_05.c \
> >        calendar_example_06.c \
> >        clock_example.c \
> > +       conformant_example_01.c \
> > +       conformant_example_02.c \
> >        image_example_01.c \
> >        flipselector_example.c \
> >        fileselector_example.c \
> > @@ -113,6 +115,8 @@
> >        calendar_example_05 \
> >        calendar_example_06 \
> >        clock_example \
> > +       conformant_example_01 \
> > +       conformant_example_02 \
> >        image_example_01 \
> >        diskselector_example_01 \
> >        diskselector_example_02 \
> >
> > Modified: trunk/elementary/src/lib/Elementary.h.in
> > ===================================================================
> > --- trunk/elementary/src/lib/Elementary.h.in    2011-07-18 11:25:54 UTC
> > (rev 61478) +++ trunk/elementary/src/lib/Elementary.h.in    2011-07-18
> > 14:00:36 UTC (rev 61479) @@ -7899,13 +7899,110 @@
> >    EINA_DEPRECATED EAPI void         elm_scrolled_entry_cnp_textonly_set
> > (Evas_Object *obj, Eina_Bool textonly) EINA_ARG_NONNULL(1); EINA_DEPRECATED
> > EAPI Eina_Bool    elm_scrolled_entry_cnp_textonly_get(Evas_Object *obj)
> > EINA_ARG_NONNULL(1);
> >
> > -   /* conformant */
> > +   /**
> > +    * @defgroup Conformant Conformant
> > +    * @ingroup Elementary
> > +    *
> > +    * The aim is to provide a widget that can be used in elementary apps to
> > +    * account for space taken up by the indicator, virtual keypad & softkey
> > +    * windows when running the illume2 module of E17.
> > +    *
> > +    * So conformant content will be sized and positioned considering the
> > +    * space required for such stuff, and when they popup, as a keyboard
> > +    * shows when an entry is selected, conformant content won't change.
> > +    *
> > +    * Available styles for it:
> > +    * - @c "default"
> > +    *
> > +    * See how to use this widget in this example:
> > +    * @ref conformant_example
> > +    */
> > +
> > +   /**
> > +    * @addtogroup Conformant
> > +    * @{
> > +    */
> > +
> > +   /**
> > +    * Add a new conformant widget to the given parent Elementary
> > +    * (container) object.
> > +    *
> > +    * @param parent The parent object.
> > +    * @return A new conformant widget handle or @c NULL, on errors.
> > +    *
> > +    * This function inserts a new conformant widget on the canvas.
> > +    *
> > +    * @ingroup Conformant
> > +    */
> >    EAPI Evas_Object *elm_conformant_add(Evas_Object *parent)
> > EINA_ARG_NONNULL(1); +
> > +   /**
> > +    * Set the content of the conformant widget.
> > +    *
> > +    * @param obj The conformant object.
> > +    * @param content The content to be displayed by the conformant.
> > +    *
> > +    * Content will be sized and positioned considering the space required
> > +    * to display a virtual keyboard. So it won't fill all the conformant
> > +    * size. This way is possible to be sure that content won't resize
> > +    * or be re-positioned after the keyboard is displayed.
> > +    *
> > +    * Once the content object is set, a previously set one will be deleted.
> > +    * If you want to keep that old content object, use the
> > +    * elm_conformat_content_unset() function.
> > +    *
> > +    * @see elm_conformant_content_unset()
> > +    * @see elm_conformant_content_get()
> > +    *
> > +    * @ingroup Conformant
> > +    */
> >    EAPI void         elm_conformant_content_set(Evas_Object *obj,
> > Evas_Object *content) EINA_ARG_NONNULL(1); +
> > +   /**
> > +    * Get the content of the conformant widget.
> > +    *
> > +    * @param obj The conformant object.
> > +    * @return The content that is being used.
> > +    *
> > +    * Return the content object which is set for this widget.
> > +    * It won't be unparent from conformant. For that, use
> > +    * elm_conformant_content_unset().
> > +    *
> > +    * @see elm_conformant_content_set() for more details.
> > +    * @see elm_conformant_content_unset()
> > +    *
> > +    * @ingroup Conformant
> > +    */
> >    EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj)
> > EINA_ARG_NONNULL(1); +
> > +   /**
> > +    * Unset the content of the conformant widget.
> > +    *
> > +    * @param obj The conformant object.
> > +    * @return The content that was being used.
> > +    *
> > +    * Unparent and return the content object which was set for this widget.
> > +    *
> > +    * @see elm_conformant_content_set() for more details.
> > +    *
> > +    * @ingroup Conformant
> > +    */
> >    EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj)
> > EINA_ARG_NONNULL(1); +
> > +   /**
> > +    * Returns the Evas_Object that represents the content area.
> > +    *
> > +    * @param obj The conformant object.
> > +    * @return The content area of the widget.
> > +    *
> > +    * @ingroup Conformant
> > +    */
> >    EAPI Evas_Object *elm_conformant_content_area_get(const Evas_Object
> > *obj) EINA_ARG_NONNULL(1);
> >
> > +   /**
> > +    * @}
> > +    */
> > +
> >    /* mapbuf */
> >    EAPI Evas_Object *elm_mapbuf_add(Evas_Object *parent) EINA_ARG_NONNULL
> > (1); EAPI void         elm_mapbuf_content_set(Evas_Object *obj, Evas_Object
> > *content) EINA_ARG_NONNULL(1);
> >
> > Modified: trunk/elementary/src/lib/elm_conform.c
> > ===================================================================
> > --- trunk/elementary/src/lib/elm_conform.c      2011-07-18 11:25:54 UTC
> > (rev 61478) +++ trunk/elementary/src/lib/elm_conform.c      2011-07-18
> > 14:00:36 UTC (rev 61479) @@ -9,14 +9,6 @@
> >  # define MAX(a,b) ((a) < (b)) ? (b) : (a)
> >  #endif
> >
> > -/**
> > - * @defgroup Conformant Conformant
> > - *
> > - * The aim is to provide a widget that can be used in elementary apps to
> > - * account for space taken up by the indicator, virtual keypad & softkey
> > windows when running
> > - * the illume2 module of E17.
> > - */
> > -
> >  typedef struct _Widget_Data Widget_Data;
> >  struct _Widget_Data
> >  {
> > @@ -444,14 +436,6 @@
> >  }
> >  #endif
> >
> > -/**
> > - * Add a new Conformant object
> > - *
> > - * @param parent The parent object
> > - * @return The new conformant object or NULL if it cannot be created
> > - *
> > - * @ingroup Conformant
> > - */
> >  EAPI Evas_Object *
> >  elm_conformant_add(Evas_Object *parent)
> >  {
> > @@ -499,18 +483,6 @@
> >    return obj;
> >  }
> >
> > -/**
> > - * Set the content of the conformant widget
> > - *
> > - * Once the content object is set, a previously set one will be deleted.
> > - * If you want to keep that old content object, use the
> > - * elm_conformat_content_unset() function.
> > - *
> > - * @param obj The conformant object
> > - * @return The content that was being used
> > - *
> > - * @ingroup Conformant
> > - */
> >  EAPI void
> >  elm_conformant_content_set(Evas_Object *obj, Evas_Object *content)
> >  {
> > @@ -532,16 +504,6 @@
> >    _sizing_eval(obj);
> >  }
> >
> > -/**
> > - * Get the content of the conformant widget
> > - *
> > - * Return the content object which is set for this widget;
> > - *
> > - * @param obj The conformant object
> > - * @return The content that is being used
> > - *
> > - * @ingroup Conformant
> > - */
> >  EAPI Evas_Object *
> >  elm_conformant_content_get(const Evas_Object *obj)
> >  {
> > @@ -552,16 +514,6 @@
> >    return wd->content;
> >  }
> >
> > -/**
> > - * Unset the content of the conformant widget
> > - *
> > - * Unparent and return the content object which was set for this widget;
> > - *
> > - * @param obj The conformant object
> > - * @return The content that was being used
> > - *
> > - * @ingroup Conformant
> > - */
> >  EAPI Evas_Object *
> >  elm_conformant_content_unset(Evas_Object *obj)
> >  {
> > @@ -577,14 +529,7 @@
> >    wd->content = NULL;
> >    return content;
> >  }
> > -/**
> > - * Returns the Evas_Object that represents the content area.
> > - *
> > - * @param obj The conformant object.
> > - * @return The content area of the widget.
> > - *
> > - * @ingroup Conformant
> > - */
> > +
> >  EAPI Evas_Object *
> >  elm_conformant_content_area_get(const Evas_Object *obj)
> >  {
> > @@ -596,4 +541,3 @@
> >    _elm_dangerous_call_check(__FUNCTION__);
> >    return (Evas_Object *)edje_object_part_object_get(wd->base,
> > "elm.swallow.content"); }
> > -
> >
> >
> > ------------------------------------------------------------------------------
> > AppSumo Presents a FREE Video for the SourceForge Community by Eric
> > Ries, the creator of the Lean Startup Methodology on "Lean Startup
> > Secrets Revealed." This video shows you how to validate your ideas,
> > optimize your ideas and identify your business strategy.
> > http://p.sf.net/sfu/appsumosfdev2dev
> > _______________________________________________
> > enlightenment-svn mailing list
> > enlightenment-...@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
> >
> 
> 
> 
> -- 
> Bruno Dilly
> Senior Developer
> ProFUSION embedded systems
> http://profusion.mobi
> 
> ------------------------------------------------------------------------------
> AppSumo Presents a FREE Video for the SourceForge Community by Eric 
> Ries, the creator of the Lean Startup Methodology on "Lean Startup 
> Secrets Revealed." This video shows you how to validate your ideas, 
> optimize your ideas and identify your business strategy.
> http://p.sf.net/sfu/appsumosfdev2dev
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to