elm_panel: set hidden property when panel is close/open
authorSungtaek Hong <sth253.hong@samsung.com>
Thu, 8 Jun 2017 07:00:20 +0000 (16:00 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Thu, 8 Jun 2017 07:15:35 +0000 (16:15 +0900)
commit9dd997f389328b8d031da7bec4c0e2074f6aae99
treeeaeaf81493ef14b3bf01e3c4fc52271b4ff399cc
parentb310e5892cb9740317dcf990d27b83cb9ac7a79f
elm_panel: set hidden property when panel is close/open

Summary:
 - elm_panel has a property named hidden which stores
   open/close status.
 - This is updated when:
    1. bring_in animation is done(anim_stop_cb).
    2. mouse_up on panel.
    3. API is called. (elm_panel_toggle, elm_panel_hidden_set)
 - In case 3, API changes hidden, and starts bring_in animation
   which will call anim_stop_cb() which will update hidden again.
 - If bring_in animation is canceled (eg: sizing_eval),
   anim_stop_cb will be called and calculate hidden status
   which will not guarantee updated hidden state by APIs.

Test Plan:
   1. Call any APIs which will call elm_layout_sizing_eval(panel)
      right after calling elm_panel_toggle()/elm_panel_hidden_set().
   2. Delete content of panel during "toggled" cb.

Reviewers: jpeg, eunue, cedric

Subscribers: conr2d, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4704

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
src/bin/elementary/test_panel.c
src/lib/elementary/elm_panel.c