On Sat, 30 Jan 2010 18:05:37 -0200 Gustavo Sverzut Barbieri
<[email protected]> said:

hmm ok. kind of a wizard - but not just 1 page, n pages. with a title, and 2
buttons. i can see that as useful. if its done well in elm - this could be good.

> Hello all,
> 
> Follows an idea of elementary widget and the proposed use cases. It is
> very similar to elm_pager, but adds more meat so it can be used easily
> for walk through wizards and configuration dialogs, avoiding messy
> "all-in-one" dialogs that we often create. This will be very useful
> for mobile systems such as phones, but could be used for set-top boxes
> and even desktop it would make more sense.
> 
> I have no time to implement it now, and I was discussing it with
> people at #edevelop... so if someone find time to do it, feel free to
> help :-)
> 
> 
> Use cases:
> 
> == Contacts ==
> 
> page #0:
>     .---------------------------.
>     |[Close]    Contacts   [New]|
>     }---------------------------{
>     | name1                     |
>     | name2                     |
>     | name3                     |
>     `---------------------------'
> 
>      Notes:
>        1. "close" is a custom button with
>           elm_walkthrough_page_custom_previous_object_set()
>        2. "new" is also a custom button.
> 
> 
> page #1:
>     .---------------------------.
>     |[Cancel] New Contact [Save]|
>     }---------------------------{
>     | First: [                 ]|
>     |  Last: [                 ]|
>     | ...                       |
>     `---------------------------'
> 
>      Notes:
>        1. "Cancel" and "Save" are custom buttons,
>           both go back to page #0, but one adds the entry
>           and the other does not.
> 
> page #2:
>     .---------------------------.
>     |[Back]      Info     [Edit]|
>     }---------------------------{
>     | .---.                     |
>     | |\o/| Some Person Bla     |
>     | | # | <<nickname>>        |
>     | `---'                     |
>     | Mobile: +55 12 1234-5678  |
>     |   Home: +55 12 1234-5679  |
>     | ...                       |
>     `---------------------------'
> 
>      Notes:
>        1. "Edit" is a custom buttons.
> 
> 
> page #3:
>     .---------------------------.
>     |[Cancel]  Edit Info  [Save]|
>     }---------------------------{
>     | First: [                 ]|
>     |  Last: [                 ]|
>     | ...                       |
>     `---------------------------'
> 
>      Notes:
>        1. "Cancel" and "Save" are custom buttons,
>           both go back to page #0, but one saves the
>           entry and the other does not.
> 
> 
> 
> 
> == e17 keybinding dialog ==
> 
> Current (a mess which I dislike):
> 
>     .------------------------------.
>     | [key bindings]  [action]     |
>     | | key1       |  | act1 |     |
>     | | key2       |  | act2 |     |
>     | [add][del]      [act params] |
>     | [mod][del all]               |
>     | [restore]                    |
>     | [ok][apply][close]           |
>     `------------------------------'
> 
> Proposed walkthrough:
> 
> page #0:
>     .------------------------------.
>     |[Close]      Mode             |
>     }------------------------------{
>     | [ Add key binding ]          |
>     | [ Modify binding by key ]    |
>     | [ Modify binding by action ] |
>     | [ Delete key binding ]       |
>     `------------------------------'
> 
>      Notes:
>        1. "close" is a custom button with
>           elm_walkthrough_page_custom_previous_object_set()
>        2. no next action in this dialog. It will
>           go to page #1, #3, #5 or #7 based on button that
>           is choosen.
> 
> 
> page #1:
>     .------------------------------.
>     |[Back]      Add Key           |
>     }------------------------------{
>     | Click "add key" and type the |
>     | key or "Escape" to cancel.   |
>     }------------------------------{
>     |          [ add key ]         |
>     `------------------------------'
> 
>      Notes:
>        1. instruction text is "subtitle"
>        2. no next action, it is handled automatically after key is
>           captured, going to page #2.
> 
> 
> page #2:
>     .------------------------------.
>     |[Back]   Select Action   [Set]|
>     }------------------------------{
>     | Select the action to be      |
>     | associated key key <C-M-1>   |
>     }------------------------------{
>     | act1                         |
>     | act2                         |
>     | act3                         |
>     `------------------------------'
> 
>      Notes:
>        1. instruction text is "subtitle", it assumes
>           Control-Alt-1 (C-M-1) was choosen from previous
>           step.
>        2. "set" is a custom next action that finishes the
>           walkthrough (or goes back to first)
> 
> page #3:
>     .------------------------------.
>     |[Back]   Select Key     [Next]|
>     }------------------------------{
>     | Select the key to change the |
>     | action                       |
>     }------------------------------{
>     | key1        act1             |
>     | key2        act2             |
>     | key3        act3             |
>     `------------------------------'
> 
>      Notes:
>        1. instruction text is "subtitle".
>        2. I opted to show action name on right, but it could
>           be hidden or shown just for the selected item.
> 
> page #4:
>     .------------------------------.
>     |[Back]  Select Action [Change]|
>     }------------------------------{
>     | Select new action for key    |
>     | <C-M-1>                      |
>     }------------------------------{
>     | act1                         |
>     | act2                         |
>     | act3                         |
>     `------------------------------'
> 
>      Notes:
>        1. instruction text is "subtitle", it assumes
>           Control-Alt-1 (C-M-1) was choosen from previous
>           step.
>        2. "change" is a custom next action that finishes the
>           walkthrough (or goes back to first)
> 
> page #5:
>     .------------------------------.
>     |[Back]   Select Action  [Next]|
>     }------------------------------{
>     | Select the action to change  |
>     | the key                      |
>     }------------------------------{
>     | act1        key1             |
>     | act2        key2             |
>     | act3        key3             |
>     `------------------------------'
> 
>      Notes:
>        1. instruction text is "subtitle".
>        2. I opted to show key name on right, but it could
>           be hidden or shown just for the selected item.
> 
> page #6:
>     .------------------------------.
>     |[Back]    Select Key  [Change]|
>     }------------------------------{
>     | Select new key for action    |
>     | <Desktop/Flip Desktop Left>  |
>     }------------------------------{
>     |       [ select key ]         |
>     `------------------------------'
> 
>      Notes:
>        1. instruction text is "subtitle", it assumes
>           Control-Alt-1 (C-M-1) was choosen from previous
>           step.
>        2. "change" is a custom next action that finishes the
>           walkthrough (or goes back to first)
>        3. Dialog would check if key already exists and in that case
>           ask for another key.
> 
> page #7:
>     .------------------------------.
>     |[Back]   Select Key   [Delete]|
>     }------------------------------{
>     | Select the key to delete the |
>     | action                       |
>     }------------------------------{
>     | key1        act1             |
>     | key2        act2             |
>     | key3        act3             |
>     `------------------------------'
> 
>      Notes:
>        1. instruction text is "subtitle".
>        2. I opted to show action name on right, but it could
>           be hidden or shown just for the selected item.
> 
> 
> 
>     /* elm_walkthrough:
>      *
>      * Similar to elm_pager, but provides more helpers such as title
>      * and subtitle (with nice transitions as pages change), as well
>      * as navigation buttons that can be easily changed.
>      *
>      * This can be used to streamline some configuration dialogs,
>      * presenting things that matter within that context.
>      *
>      * smart callbacks called:
>      *   "page,changed" [int new_idx, int old_idx] (array of int[2])
>      */
>     Evas_Object *elm_walkthrough_add(Evas_Object *parent)
> 
>     Eina_Bool elm_walkthrough_page_go(Evas_Object *o, int idx);
>     Eina_Bool elm_walkthrough_page_previous(Evas_Object *o);
>     Eina_Bool elm_walkthrough_page_next(Evas_Object *o);
> 
>     Elm_Page *elm_walkthrough_page_add(Evas_Object *o, const char
> *title, const char *subtitle, Evas_Object *contents);
> 
>     /* If page is using standard navigation controls, toggle
>      * visibility of objects with Previous and Next actions.  by
>      * default:
>      *    - if object is first, there is no back.
>      *    - if object is last, there is no next.
>      *    - else: "<<Back" and "Next>>" are buttons with custom style.
>      *
>      * Buttons can be disabled or enabled until required fields in
>      * pages are set.
>      */
>     void elm_walkthrough_page_standard_previous_visibile_set(Elm_Page
> *page, Eina_Bool visible);
>     void elm_walkthrough_page_standard_next_visibile_set(Elm_Page
> *page, Eina_Bool visible);
>     void elm_walkthrough_page_standard_previous_disabled_set(Elm_Page
> *page, Eina_Bool disabled);
>     void elm_walkthrough_page_standard_next_disabled_set(Elm_Page
> *page, Eina_Bool disabled);
> 
> 
>     /* set custom object instead of styled buttons with "<<Back" And "Next>>".
>      * These will force object being show, even if setting the nav_previous
>      * object of the first object. One may use this for "Cancel" and nav_next
>      * of last for "Done" or "Create"...
>      *
>      * In this scenario you are also responsible for calling desired
>      * action.  Either elm_walkthrough_page_go() or something
>      * else. One can use this to implement non-sequential walkthroughs
>      * (skip some steps based on current page information).
>      */
>     void elm_walkthrough_page_custom_previous_object_set(Elm_Page
> *page, Evas_Object *obj);
>     void elm_walkthrough_page_custom_next_object_set(Elm_Page *page,
> Evas_Object *obj);
> 
> 
> -- 
> Gustavo Sverzut Barbieri
> http://profusion.mobi embedded systems
> --------------------------------------
> MSN: [email protected]
> Skype: gsbarbieri
> Mobile: +55 (19) 9225-2202
> 
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to