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