summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2017-06-09 14:45:14 +0900
committerJaeun Choi <jaeun12.choi@samsung.com>2017-06-09 16:58:04 +0900
commit5a959bdffa583bf79c926b9deb625e03a465faad (patch)
tree57fcadf074ced980494fe0e5f425833cdb7eee3c
parent3449e8c9d151010c4782de0bd1bd9074c658cacd (diff)
downloadefl-5a959bdffa583bf79c926b9deb625e03a465faad.tar.gz
add scrollbar_mode property to efl.ui.scrollable interface
-rw-r--r--src/lib/elementary/efl_ui_scroll_manager.c9
-rw-r--r--src/lib/elementary/efl_ui_scroll_manager.eo11
-rw-r--r--src/lib/elementary/efl_ui_scroller.c9
-rw-r--r--src/lib/elementary/efl_ui_scroller.eo1
-rw-r--r--src/lib/evas/canvas/efl_ui_scrollable.eo21
5 files changed, 51 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_scroll_manager.c b/src/lib/elementary/efl_ui_scroll_manager.c
index b39f438745..c237ef6f8b 100644
--- a/src/lib/elementary/efl_ui_scroll_manager.c
+++ b/src/lib/elementary/efl_ui_scroll_manager.c
@@ -10,6 +10,15 @@
#define MY_CLASS_NAME "Efl_Ui_Scroll_Manager"
+EOLIAN static void
+_efl_ui_scroll_manager_scrollbar_mode_set(Eo *obj,
+ Efl_Ui_Scroll_Manager_Data *sd,
+ Efl_Ui_Scrollbar_Mode hmode,
+ Efl_Ui_Scrollbar_Mode vmode)
+{
+ elm_interface_scrollable_policy_set(obj, hmode, vmode);
+}
+
EOLIAN static Efl_Ui_Focus_Manager*
_efl_ui_scroll_manager_efl_ui_focus_user_manager_get(Eo *obj EINA_UNUSED,
Efl_Ui_Scroll_Manager_Data *sd)
diff --git a/src/lib/elementary/efl_ui_scroll_manager.eo b/src/lib/elementary/efl_ui_scroll_manager.eo
index 999d49a372..760663549f 100644
--- a/src/lib/elementary/efl_ui_scroll_manager.eo
+++ b/src/lib/elementary/efl_ui_scroll_manager.eo
@@ -14,6 +14,17 @@ class Efl.Ui.Scroll.Manager (Efl.Canvas.Group,
content: Efl.Gfx @nullable; [[content object]]
}
}
+ @property scrollbar_mode {
+ [[Scrollbar visibility policy]]
+ set {
+ }
+ //get {
+ //}
+ values {
+ hbar: Efl.Ui.Scrollbar.Mode; [[Horizontal scrollbar]]
+ vbar: Efl.Ui.Scrollbar.Mode; [[Vertical scrollbar]]
+ }
+ }
}
implements {
Efl.Object.constructor;
diff --git a/src/lib/elementary/efl_ui_scroller.c b/src/lib/elementary/efl_ui_scroller.c
index b3767fdaba..cfe550605a 100644
--- a/src/lib/elementary/efl_ui_scroller.c
+++ b/src/lib/elementary/efl_ui_scroller.c
@@ -15,6 +15,15 @@
EOLIAN static void
+_efl_ui_scroller_efl_ui_scrollable_scrollbar_mode_set(Eo *obj,
+ Efl_Ui_Scroller_Data *sd,
+ Efl_Ui_Scrollbar_Mode hmode,
+ Efl_Ui_Scrollbar_Mode vmode)
+{
+ efl_ui_scroll_manager_scrollbar_mode_set(sd->smanager, hmode, vmode);
+}
+
+EOLIAN static void
_efl_ui_scroller_efl_gfx_size_set(Eo *obj,
Efl_Ui_Scroller_Data *sd,
Evas_Coord w,
diff --git a/src/lib/elementary/efl_ui_scroller.eo b/src/lib/elementary/efl_ui_scroller.eo
index 89a29604a8..11410819ca 100644
--- a/src/lib/elementary/efl_ui_scroller.eo
+++ b/src/lib/elementary/efl_ui_scroller.eo
@@ -9,5 +9,6 @@ class Efl.Ui.Scroller (Elm.Layout, Efl.Ui.Scrollable)
Efl.Gfx.size { set; }
Efl.Gfx.position { set; }
Efl.Container.content { set; }
+ Efl.Ui.Scrollable.scrollbar_mode { set; }
}
}
diff --git a/src/lib/evas/canvas/efl_ui_scrollable.eo b/src/lib/evas/canvas/efl_ui_scrollable.eo
index 366e2c02f9..0013fe99bb 100644
--- a/src/lib/evas/canvas/efl_ui_scrollable.eo
+++ b/src/lib/evas/canvas/efl_ui_scrollable.eo
@@ -1,7 +1,28 @@
+enum Efl.Ui.Scrollbar.Mode
+{
+ auto = 0, [[Visible if necessary]]
+ on, [[Always visible]]
+ off, [[Always invisible]]
+ last [[]]
+}
+
interface Efl.Ui.Scrollable ()
{
[[Efl UI scrollable interface]]
event_prefix: efl_ui;
+ methods {
+ @property scrollbar_mode {
+ [[Scrollbar visibility policy]]
+ set {
+ }
+ get {
+ }
+ values {
+ hbar: Efl.Ui.Scrollbar.Mode; [[Horizontal scrollbar]]
+ vbar: Efl.Ui.Scrollbar.Mode; [[Vertical scrollbar]]
+ }
+ }
+ }
events {
scroll; [[Called when scroll operation started]]
scroll,anim,start; [[Called when scroll animation started]]