too simple for me :p

2010/1/30 Gustavo Sverzut Barbieri <[email protected]>

> 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
>



-- 
Regards.
------------------------------------------------------------------------------
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